C++中如何读入多行数据?
C++中如何读入多行文本(以^Z结束输入)?几种基本的读入字符(串)的语句又有什么不同呢,比如scanf,gets,cin.get,getline,getchar还有就是...
C++中如何读入多行文本(以^Z结束输入)?
几种基本的读入字符(串)的语句又有什么不同呢,比如scanf,gets,cin.get,getline,getchar
还有就是我尝试用cin.get读入多行文本,
#include <iostream>
using namespace std;
int main()
{
char ch;
while (cin.get(ch))
{
cout << ch;
}
return 0;
}
结果有两个问题:
1.改为fin.get的时候一切正常,但cin.get是逐行读入的,敲回车就会有反应,不明白为什么。
2.在一行开始输入^Z的话就能正常退出,但是在一行字符串后面输入^Z(如abd837^Z)就被无视了,这又是怎么回事?
最后还望高手们讲解一下while (cin.get(ch))的真值判断以及EOF的详细介绍,非常感谢。 展开
几种基本的读入字符(串)的语句又有什么不同呢,比如scanf,gets,cin.get,getline,getchar
还有就是我尝试用cin.get读入多行文本,
#include <iostream>
using namespace std;
int main()
{
char ch;
while (cin.get(ch))
{
cout << ch;
}
return 0;
}
结果有两个问题:
1.改为fin.get的时候一切正常,但cin.get是逐行读入的,敲回车就会有反应,不明白为什么。
2.在一行开始输入^Z的话就能正常退出,但是在一行字符串后面输入^Z(如abd837^Z)就被无视了,这又是怎么回事?
最后还望高手们讲解一下while (cin.get(ch))的真值判断以及EOF的详细介绍,非常感谢。 展开
6个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询