【发布时间】:2018-06-12 07:50:47
【问题描述】:
我正在将用户输入(字符串)写入文件。但是我想在用户按下回车键而不输入任何字符串时结束程序。 例如 输入:
你好怎么样 你是!
结束程序。
我试图以这种方式做到这一点。但是当用户不输入任何内容时它不会停止。
这是我的代码:
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
char buffer[1000];
char sent[1000];
FILE* ifp = fopen("text.txt", "w");
while (sscanf(buffer,"%s",sent) == 1) {
fprintf(ifp,"%s",buffer);
}
fclose(ifp);
return 0;
}
【问题讨论】:
-
欢迎来到本站。您的示例中是否缺少一些代码?这个例子实际上并没有要求用户输入任何内容。此外,您应该真正检查来自
fopen()的返回值 - 就像在if (!ifp) { perror("fopen"); exit(1); }中一样。 -
无论如何...如果您尝试读取字符串(字符数组),最好使用
fgets()而不是sscanf()。请记住,您必须去掉换行符。
标签: c