テキストファイルから情報を読み取り、バイナリファイルに書き込むプログラムを作成します。テキストファイルには、
が含まれています。名、姓、ID番号、およびGPA。
ファーストネームとラストネームは、最大長が255で、IDが符号なしintで、GPAがfloatであるchar配列です。各行の後には、同じ4つの情報を持つ別の行があります。テキストファイルの最後までループバックして、情報をbinファイルにコピーし続けますか?たとえば、新しいID番号とGPAを持つ生徒がそれぞれ4〜5行ある場合、テキストからバイナリファイルへのコピーを続けるにはどうすればよいですか?私はループ内にセグメントを持っていると思いますが、ループを実装する方法がわかりません。テキストファイルにはfscanf、バイナリにはfwriteを使用する必要があります。どんな助けもありがたい。テキストファイルからの読み取りとバイナリファイルへの書き込み
unsigned char firstName[255];
unsigned char lastName[255];
unsigned int id;
float gpa;
fscanf(textfile, "%s %s %d %f", firstName, lastName, &id, &gpa); //read one line of the text file
printf("%s %s %d %.1f", firstName, lastName, id, gpa); //print line information ((test))
printf("\n"); //newline
//Writing information to binary file
fwrite(firstName, strlen(firstName), 1, binfile);
fwrite(lastName, strlen(lastName), 1, binfile);
fwrite(&id, sizeof(int), 1, binfile);
fwrite(&gpa, 4, 1, binfile);
完璧、ありがとう。 –
@minigeek [それは "欲張りですか?アップヴォート...](http://meta.stackoverflow.com/a/298583/2410359) – chux
申し訳ありません@chuxはもう一度やりません。面白いことあなたがあまりにも多くの投票を持っていると言われている質問です。 – minigeek