-3
私はmyfile.txt
というテキストファイルを読んで、1,2,4,6行をeven.txt
というテキストファイルにコピーし、1,3,5行をodd.txt
にコピーしようとしています。私はプログラミングが初めてで、これはおそらく非常に間違っています。どんな助けもありがとう。テキストファイルを分離する
int main()
{
FILE *fp;
FILE *feven;
FILE *fodd;
int lines = 0;
fp = fopen("myfile.txt","r");
if (fp ==NULL) {
printf("Cannot open file.\n");
exit(1);
}
feven = fopen("even.txt","w");
if (feven ==NULL) {
printf("Cannot open file.\n");
exit(1);
}
fodd = fopen("odd.txt","w");
if (fodd ==NULL) {
printf("Cannot open file.\n");
exit(1);
}
while (fscanf(fp, "%s") != EOF) {
lines++;
if (lines%2=0)
{fprintf(feven,"%s \n");}
else
{fprintf(fodd,"%s \n",);}
}
}//end program
「すべてのヘルプを」。特定の質問をしてください。表示されているようにコードに問題がある場合は、それらの問題(入力、予想される動作、実際の動作)を記述してください。また、ヘルプを探す前に、あなた自身で問題をデバッグするために何をしましたか? – kaylum
'fscanf'と' fprintf'のマニュアルページを読むことをお勧めします。あなたは彼らに正しいパラメータを与えていません。 'fprintf(fodd、"%s \ n "、)'は何をすると思いますか?その呼び出しはどこからデータを取得するのですか?それはコンパイルされますか? – kaylum
'fscanf(fp、"%s "、...)'を使って行を読み込もうとすると、行ではなく単語を読み込みます。 'fgets()'を使って行を読み込み、それが返す文字列に改行を保持していることに注意してください。おそらく、出力の行末にスペースを入れてはいけません。実際には、 'fgets()'を呼び出すために 'fputs()'を使うべきでしょう。 –