我如何读取在控制台中编写的文本,然后将其放在文本文件中,直到用户给出终止字? 我写过这个,但问题似乎是当我输入退出时它不会停止。
int _tmain(int argc, _TCHAR* argv[])
{
FILE *fp;
char sentence[80];
fp=fopen("c:\\users\\kostas\\desktop\\original.txt","w");
while(sentence!="exit")
{
gets(sentence);
fputs(sentence,fp);
}
return 0;
}
答案 0 :(得分:1)
更改: -
while(sentence!="exit")
到
while (strcmp (sentence,"exit") != 0)
答案 1 :(得分:0)
添加这些行
#include <string.h>
char buffer[255];
改变这些
while(sentence!="exit")
{
gets(sentence);
fputs(sentence,fp);
}
到
while(strstr(gets(buffer),"exit") == NULL ) {
fputs(sentence,fp);
}
答案 2 :(得分:0)
使用更安全的fgets()
#include <string.h>
...
while((fgets(sentence, sizeof(sentence), stdin) != NULL) &&
(strcmp(sentence, "exit\n") != 0)) {
fputs(sentence,fp);
}
fclose(fp); // Code is missing this
注意OP的while(sentence!="exit")
可能有问题,因为我第一次怀疑,sentence
的内容未定义。