• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ファイルのデータを構造体に代入する方法)

ファイルのデータを構造体に代入する方法

このQ&Aのポイント
  • 初心者の方が、csvファイルのデータを構造体に代入する方法を教えてください。
  • 関数Readを利用してcsvファイルのデータを読み取り、構造体に代入する方法を教えてください。
  • ファイルのデータを構造体に入れるための方法を教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • bnosuke-x
  • ベストアンサー率39% (43/110)
回答No.1

>構造体には必要な分、配列領域を確保する を、「構造体の配列を必要なだけ確保する」として、 #define MAX_RECORDS 100; typedef struct {  int num;  char name[20]; } record; record rec[MAX_RECORDS]; /* record *rec; */ /* rec = malloc(sizeof(record) * MAX_RECORDS); */ read( rec ); ----------------------------- read(record[] record_array) {    ・    ・    record[i].num = n;    strcpy(record[i].name,name);    ・    ・ } という感じで構造体の配列を渡して使うことができると思います。 コメントアウトした方は、配列ではなくmallocで領域を確保し、ポインタに入れていますが、関数への引き渡し方は全く同様です。 (ただ、明示的にキャストが必要かも知れません) 実際に動かしていないので、コンパイラから警告が出るかも知れませんが、関数への引き渡し方と使い方のヒントとして参考にしてください。

kyana_no
質問者

お礼

返信遅くなりまして申し訳ありません。 御解答ありがとうございました キャストを使うとどうしても後手後手にプログラムがなってしまうので警告がでた場合は何とか別の方法を探してしまっていますが・・ 参考にさせていただきました。感謝しております。

関連するQ&A