学習し始めてから時間が経ちましたが、まだ初心者のまま・・・少しずつ頑張っている状態の者です。
今回はタイトルのことで御質問させてください。
関数Read(自己作成)でcsvファイルの内容を読み取り、読み取ったデータを用意しておいた構造体の変数ポインタを利用して代入しようと試みているのですが・・・要領がつかめません。
それで気になったのですが、読み込んだファイルを用意しておいた構造体に入れるにはどんな方法があるかよろしければご教授下さい。
私としてはforを使ったやり方があるのなら是非見本を見せてほしいのですが・・・
ちなみに、私が考えていたプログラム案は以下の通りです。
構造体にはcsvファイル・1レコード分の情報が入る構成。
構造体と読み取るファイルの構造は酷似しているが構造体全てに入る情報でない場合がある。
構造体には必要な分、配列領域を確保する
ファイルの先頭アドレスはファイルポインタに代入。
構造体の先頭アドレスはポインタ変数に代入。
main関数とは別の関数の引数に2つのアドレスをコピー。
★ そこでファイルデータを構造体へ代入しmainに戻って出力する。
その関数での戻り値は特になし(成功したら0・・・と考えていたのですが使い道が今のところはreturnだけです)
★で特に悩んでいるので、よろしくお願い致します。
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で領域を確保し、ポインタに入れていますが、関数への引き渡し方は全く同様です。
(ただ、明示的にキャストが必要かも知れません)
実際に動かしていないので、コンパイラから警告が出るかも知れませんが、関数への引き渡し方と使い方のヒントとして参考にしてください。
返信遅くなりまして申し訳ありません。
御解答ありがとうございました
キャストを使うとどうしても後手後手にプログラムがなってしまうので警告がでた場合は何とか別の方法を探してしまっていますが・・
参考にさせていただきました。感謝しております。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# c言語の問題です 2 2023/07/21 10:51
- その他(IT・Webサービス) ホームページにカウント数を表示する 2 2022/10/28 10:37
- Visual Basic(VBA) 顧客ごとに違う点検案内を作成するマクロ 4 2022/09/16 05:34
- C言語・C++・C# C言語初心者 構造体 課題について 1 2023/03/10 19:30
- C言語・C++・C# C言語 2 2022/07/21 00:02
- Wi-Fi・無線LAN PCWi-Fiの設定方法がわからなくて困っています。 4 2022/12/28 18:30
- C言語・C++・C# C言語初心者 構造体 課題について 2 2023/03/10 19:48
- C言語・C++・C# このプログラミング誰か教えてくれませんか 1 2022/06/02 15:27
- 哲学 説得力を修辞の巧みさまたは論理の強さの2つに分析するにはどうすると良いでしょうか? 0 2022/07/20 05:46
- その他(プログラミング・Web制作) Pythonで、データファイルと列名ファイルを1つのファイルにしたいです。 1 2023/07/27 20:29
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
関数から配列を返すには?
-
配列の要素数に変数を入れたい...
-
define で 配列
-
c言語
-
C#で構造体の配列を持った構造...
-
構造体のextern方法
-
C言語において、 配列要素をひ...
-
C#でのフィボナッチ数列
-
C言語の2次元配列 容量が大き...
-
C#で配列が空かを判定するには?
-
配列のアドレス部
-
char型配列をint型に代入するには
-
C言語の課題が出たのですが自力...
-
2番目の最大値を求める
-
C言語についてです 5人のテスト...
-
C言語から質問です。
-
C言語 ファイルの指定された行...
-
c言語 構造体
-
コンボボックスでデフォルト値...
-
MFCのCArrayを使った二次元配列
おすすめ情報