cin.get():C++读取单个字符

1年前 (2024-04-27)

get() 是 istream 类的成员函数,它有多种重载形式(请猛击这里了解详情),不过本文只介绍最简单最常用的一种:

int get();

此函数从输入流中读入一个字符,返回值就是该字符的 ASCII 码。如果碰到输入的末尾,则返回值为 EOF。

EOF 是 End of File 的缩写。istream 类中从输入流(包括文件)中读取数据的成员函数,在把输入数据都读取完后再进行读取,就会返回 EOF。EOF 是在 iostream 类中定义的一个整型常量,值为 -1。

get() 函数不会跳过空格、制表符、回车等特殊字符,所有的字符都能被读入。例如下面的程序:

#include <iostream>

using namespace std;

int main()

{

int c;

while ((c = cin.get()) != EOF)

cout.put(c);

return 0;

}

程序运行情况如下:

http://c.biancheng网站站点" rel="nofollow" />

#include <iostream>

using namespace std;

int main()

{

int c;

freopen("test.txt", "r", stdin); //将标准输入重定向为 test.txt

while ((c = cin.get()) != EOF)

cout.put(c);

return 0;

}