01 02 01 第一部分 C++编程知识 C++语言的输入输出(基础) getchar和putchar
第一部分 C++编程知识
第二章 C++语言的输入输出(基础) —— getchar和putchar
getchar()和putchar()是属于C语言的库函数,而C++语言是兼容C语言的,所以C++中只要正确包含头文件就可以正常使用这两个函数。
一、getchar()
1、函数原型:int getchar(void);
2、功能:从标准输入(通常是键盘)读取下一个可用的字符。
3、返回值:返回读取的字符,如果读取失败,则返回EOF。
getchar()函数返回用户从键盘输入的一个字符,使用时不带有任何参数。程序运行到这个命令就会暂停,等待用户从键盘输入,等同于使用cin或scanf()方法读取一个字符。它的原型定义在头文件<cstdio>。下面这段代码展现了getchar()最基本的用法:
#include <iostream>
#include <cstdio>
using namespace std;
int main(){
int ch = getchar();
cout << ch << endl; //因为getchar返回一个整数,所以这里打印的是从键盘输入的字符的ASCII码值
cout << (char)ch << endl; // 这里使用强制类型转换,打印出来了键盘输入的第一个字符
return 0;
}
值得注意的是,getchar()不会忽略起首的空白字符和末尾的回车(Enter),总是返回当前读取的第一个字符,无论任何字符。如果读取失败,返回常量EOF,由于EOF通常是-1,所以返回值的类型要设为int,而不是char。让getchar()函数读取失败,返回-1的办法也很简单,在输入字符之前,直接按Ctrl+Z再按回车就可以了。

下面我们来看一段代码,更加深入的理解getchar的功能:
#include <iostream>
#include <cstdio>
using namespace std;
int main(){
int ch = getchar(); //这里输入“ a\n”(空格+a+回车<Enter>)
cout << ch << endl; //这里会打印空格的ASCII码值32
ch = getchar(); //这里会继续将ch赋值a
cout << char(ch) << endl; //这里会打印字符a
ch = getchar(); //这里会继续将ch赋值为回车
cout << ch << endl; //这里会继续打印回车的ASCII码值10
ch = getchar();//到这里第一次输入的内容读取结束,等待继续输入,我们按Ctrl+Z和回车结束
cout << ch << endl; //这里会打印EOF的数值-1
return 0;
}
二、putchar()
getchar()和putchar()是一对的,往往需要配合使用。下面是putchar()函数的基本信息:
1、函数原型:int putchar(int c);
2、功能:向标准输出(通常是屏幕)写入一个字符。
3、参数:c 是要输出的字符。
4、返回值:成功时返回写入的字符,如果发生错误则返回EOF。
5、在C++语言中包含头文件:<cstdio>
下面这段代码展现了getchar()和putchar()最基本的使用方法:
#include <iostream>
#include <cstdio>
using namespace std;
int main()
{
int ch = getchar();//输入“ab\n(回车<Enter>)”
putchar(ch); //输出a,但是没有换行效果
ch = getchar(); //这里会继续将ch赋值b
putchar(ch);//输出b,但是没有换行效果
ch = getchar();//这里会继续将ch赋值回车
putchar(ch);//输出"\n" (实现换行)
//使用putchar打印换行的方式
cout << "123";
putchar('\n');
cout << "123";
putchar(10);//这里10是换行 (\n)的ASCII码值
cout << "123";
return 0;
}
在这一节的学习中我们只需要理解getchar()和putchar()这两个函数最基本的使用方法和性质即可,在后面进行算法的学习时,会有涉及快速读写的部分,在这个部分会使用到这两个函数。
更多推荐



所有评论(0)