有关文件结束符

HisinWang 2010-03-21 11:57:41
int main()
{
string str;
while (cin >> str)
cout << str << endl;
system("pause");
return 0;
}

有关文件结束符,我一直弄不懂。
比如:以上程序
输入: asd ctrl+z enter
为什么输出asd 之后还等待输入 ctrl+Z不是文件结束符吗?
为什么一定要在一行的起始位置输入 ctrl+Z 才行啊
...全文
64 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
kingstarer 2010-03-22
  • 打赏
  • 举报
回复
我觉得还是windows搞的鬼

因为手动输入 换行符ctrl+z (换行符通过小键盘输入)

结果发现ctrl+z还是不代表结束符

他的值26会被传进去
=======================
估计是操作系统终端机制造成的

明天有时间试一下文件重定向看看
arong1234 2010-03-22
  • 打赏
  • 举报
回复
你给的那个帖子貌似是我们讨论半天后来都懒得讨论的东西吧?
感觉这只是标准输入在检查EOF之前首先检查换行,因为标准输入是只有换行后才进行文字处理的,而不是你每输入一个它处理一次
kingstarer 2010-03-22
  • 打赏
  • 举报
回复
看看这贴

http://topic.csdn.net/u/20090706/22/10a2a1c6-8cd2-4b26-858b-2c20cbc97242.html?38971

windows搞的鬼

64,646

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧