このタスクにアプローチする方法がわかりません。
特にfwriteを使用する必要がありますが、私の問題は、バイナリファイルの1行にさまざまなファイルタイプ(char []、int、double)を書き込み、インクリメントしてから次のデータロットを書き込む方法がわからないことですリンクされたリストからインクリメントします.....など。
以下のコードは、リンクされたリスト (データ) からテキスト ファイルにデータを書き込み、次の行に移動して、リストの最後の要素がテキスト ファイルに書き込まれるまでプロセスを繰り返します。
同じ原則を持つ関数をコーディングする必要がありますが、fwrite を使用してリンク リストのデータをバイナリ ファイルに書き込みます。アイデアはありますか?
void WriteTextFile(ListDataType *Data, int numEl)
{
FILE *textfile;
char name[50];
printf("\n\nWhat would you like to call the text file in which the data will be stored?\nNB remember to add \".txt\" after your chosen name!!!\nENTER NAME NOW>>");
scanf("%s", name);
textfile = fopen(name, "w+");
do
{
fprintf(textfile, "%s %d %d %.2lf %.2lf %.2lf %.2lf\n", Data->component.name, Data->component.int1, Data->component.int2, Data->component.double1, Data->double2, Data->double3, Data->double4 );
Data = Data->nextPtr;
}while(Data != NULL);
fclose(textfile);
}