ファイル操作
今C言語のファイル操作を勉強中です。
作ったソースが問題の指示通りのことをやれているか分からないので、違うことを書いていたらご指摘お願いします。
問題は「新規に作成したファイルに、キーボードから取り込んだ5つの文字列を順次書き込むプログラムを作成せよ。更に、そのファイルからデータを文字列単位で読み出して、画面に表示させる処理を付け加えよ。」
ソースは以下です
-----------------------------------------------
#include<stdio.h>
void main(void)
{
FILE *str_ptr;
char string[30];
int i;
str_ptr = fopen("outfile", "w");
printf("5個の文字列入力してください。\n");
for(i=0 ; i<5 ; i++){
scanf("%s", string);
fputs(string, str_ptr);
}
fclose(str_ptr);
str_ptr = fopen("outfile", "r");
fgets(string, 30, str_ptr);
printf("%s ", string);
fclose(str_ptr);
}
-------------------------------------------------
実行結果は、例えば「"suzuki","katou","sugiura","sasaki","kawai"」を入力したとすると
suzukikatousugiurasasakikawai
と全部つながってしまいます。
「ファイルからデータを文字列単位で読み出して」という言葉が何か引っかかります。
これで大丈夫なのでしょうか?
お礼
>BLUEPIXYさん str2の文字列を""に置き換える、という事ですね。 参考になります。ありがとうございました。