C从控制台读取并写入.txt文件

时间:2013-06-21 13:55:48

标签: c file console edit

我如何读取在控制台中编写的文本,然后将其放在文本文件中,直到用户给出终止字? 我写过这个,但问题似乎是当我输入退出时它不会停止。

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;
}

3 个答案:

答案 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的内容未定义。