我的 C++ 程序不会停止if(scanf()==EOF)break;
,下面是我的程序的草图,例如输入:
X XjhgXjhX
给出输出:
jhgjh
也就是说 - 它打印除 之外的所有字符X
,但它不会在Ctrl+Z
.
using namespace std;
int main()
{
char str[100]={0},znak,forbd;
int i=0,j=0;
while(true)
{
i=0;
j=0;
if(scanf("%c",&forbd)==EOF)
break;
if(scanf("%c",&znak)==EOF)
break;
while(znak!='\n')
{
if(forbd!=znak && znak!=' ')
{
str[i]=znak;
i++;
//cout<<i<<"\n";
}
if(scanf("%c",&znak)==EOF)
break;
}
while(j<i)
{
printf("%c",str[j]);
j++;
}
printf("%c",'\n');
}
return 0;
}
我不想用cin
,因为阅读有问题\n
。