我还在学习,所以如果我在做一些非常低效的事情,请告诉我。否则,我更关心为什么这不起作用。
除非我使用引号,否则我无法让它写多个单词。有没有办法让它写多个单词而不必添加引号?
#include<stdio.h>
#include<stdlib.h>
main() {
char str[BUFSIZ];
FILE *f;
f = fopen(".todo","a");
printf("\n\nTODO list\n\n");
printf("~ ");
scanf("%s", str);
fprintf(f,str);
fprintf(f,"\n");
fclose(f);
}
我确实决定做一个循环,这样我就可以写很多东西了。这就是我所做的:
for(;;) {
printf("~ ");
scanf("%s", str);
if(str == "break") {
fclose(f);
printf("\n");
exit(1);
}
fprintf(f,str);
}
但是,如果我输入“break”,它不会退出。它不写入 .todo (我认为这是因为 fclose 没有被运行)如果不是这样,我怎样才能让它退出?