外部ファイル(文字列int、行ごと)からテキストを読み込むプログラムを作成しようとしています。 構造体は、main関数の外で定義されていますc、structを使用する際の問題
typedef struct Person {
char fname[15];
char lname[20];
unsigned long int birth;
} clovek;
私はすべての行のデータが上書きされる可能性がのように配列する「clovek」を必要としません。 ラインがでバッファリングする赤です:
fgets(buffer, 50, datafile);
その後、私は構造体にそれを解析したいが、私の問題が生じたところつまり:
int i = 0;
while (buffer[i] != ' ') {
clovek.fname[i] = buffer[i];
i++;
}
そして、これはエラーを私を与える:予想識別子または「」「(」の前にトークン
私はまた、デバッグのためにこのコードを使用していたが、それは同様に別のエラーを与える:
printf("fname, %s\n", clovek.fname);
エラー: 'clovek'の前に期待される表現
私はstructを使用していると誤解しています。
答えの1つを除いて、どのように人々が非常に基本的なC構文を間違えることができるかという別の恐ろしい例があります。 –
構造体の複雑さと要素の位置合わせに関する別の問題を追加しましょう。 Googleはあなたの友人です。 – KevinDTimm
バッファオーバーフローが起こるのを待っていて、struct PersonのメンバーをCの文字列として役に立たないようにするNULL終了がないことは言うまでもありません。 – RBerteig