私はまだ勉強中なので、本当に効率の悪いことをしている場合は教えてください。そうでなければ、なぜこれがうまくいかないのかがもっと気になります。
引用符を使用しない限り、複数の単語を記述させることはできません。引用符を追加しなくても複数の単語を書けるようにする方法はありますか?
#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 が実行されていないためだと思います)。そうでない場合、どうすれば終了させることができますか?