博文背景
一直想像cat >> hello.txt或者cat >> hello.txt <<- 'EOF'这个样子以EOF为结束符读取多行文本,搜了一些函数感觉都是曲线救国,不如自己从最基础的东西开始自己造。
具体操作
#include <iostream>
using namespace std
;
int main()
{
char buff
[1000];
int index
=0;
char temp
;
while(temp
=getchar())
{
if(temp
!= EOF)
{
buff
[index
]=temp
;
index
++;
}
else
{
break;
}
}
buff
[index
]='\0';
cout
<< buff
<< endl
;
return 0;
}
效果展示
不过不明白的是为什么如果不是在行首按下Ctrl + D则需要按两次才会生效,我感觉可能是需要按下回车或者EOF才能把输入刷到“缓冲区”里面使程序能够读取成功。