ユーザーからの入力(複数行)を読み取り、fputs()を使用してファイルに書き込みたいと思いました。
これが私のコードです
#include<stdio.h>
#include<stdlib.h>
int main()
{
FILE *fp;
char s[25];
fp=fopen("myname","w");
if(fp==NULL)
{
perror("Error opening file\n");
exit(1);
}
while(fgets(s,25,stdin)!=NULL)
fputs(s,fp);
fclose(fp);
return 0;
}
ユーザーから入力を受け取った後、Ctrl + Cを使用してプログラムの入力プロンプトを閉じています(Linuxを使用しています)。次に、ファイルを開くと、何も含まれていません。どうすればこれを解決できますか?
fputs()とfgets()の使用法に何か問題がありますか?