ファイル操作(構造体)のエラー?なんでしょうか?
テキストファイルtestdata.txtから読み込んで渡したいのですが
下記の画像のようなエラーがでます。
プログラムの問題ですか?パソコンのほかの問題ですか?
DOSのWindowがまずいのでしょうか?
testdata.txtの中身は半角英数字の羅列です。
例
123
456
789
AAA
BBB
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
typedef struct data{
char *name;
int a;
int h;
struct data *next;
}LIST;
int main(){
int i;
int j;
LIST *pt;
FILE *fp;
char *readLine;
if((fp=fopen("testdata.txt","r"))==NULL){
printf("file error\n");
exit(1);
}
pt=(LIST *)calloc(4,sizeof(LIST));
i=0;
j=0;
while(fgets(readLine,256,fp)!=NULL){
if(i==0){
(pt+j)->name=(char *)malloc(strlen(readLine)+1);
(pt+j)->name=readLine;
printf("%s",(pt+j)->name);
i++;
}else if(i==1){
(pt+j)->a=atoi(readLine);
printf("%d",(pt+j)->a);
i++;
}else if(i==2){
(pt+j)->h=atoi(readLine);
printf("%d",(pt+j)->h);
i=0;
j++;
}
}
free(pt);
return 0;
}
コンパイルは無事終了してます。
No.3
- 回答日時:
下の人々と同じです。
readLineが初期化されていません。
mallocで領域確保するか、readLineを配列にした方がいいと思います。
以下蛇足:
できれば、256という生の数字を使うより、
#define MAX_LENGTH 256
などと名前付けしておいて、
char readLine[MAX_LENGTH];
などとしておけば、マクロの値を変えることで、一行の長さの最大値が変化した場合にも対処できるので、より柔軟なプログラムになると思います。
あと、fopenした後は最後はfcloseした方がよいかと。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# c言語の問題の説明、各所ごとに 5 2023/07/26 11:03
- C言語・C++・C# プログラミングの授業の課題です 1 2023/01/17 22:15
- C言語・C++・C# c言語の問題です 3 2023/01/10 16:15
- C言語・C++・C# C言語のエラーについて 2 2022/07/11 13:56
- C言語・C++・C# バイナリファイルをコピーするのにかかる時間を測りたいのですが実行するとFatel error:gli 2 2022/11/03 01:10
- 大学・短大 C言語線形リストの問題です 3 2022/12/22 00:45
- C言語・C++・C# プログラミング c言語 4 2023/03/07 01:05
- C言語・C++・C# このプログラミング誰か教えてくれませんか 1 2022/06/02 15:27
- C言語・C++・C# c言語 プログラムのエラー 1 2023/02/11 20:31
- C言語・C++・C# C言語 プログラミング 4 2022/05/22 11:53
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Linux Cプログラミングを学ぶた...
-
右ビットシフト
-
プログラミングについて。 1つ...
-
プログラミングの授業の課題です
-
Notepad++の関数リスト表示の変...
-
S-JIS → JIS コード変換するには
-
C言語をコンパイルするとコンピ...
-
こんなことてしますか??
-
[C言語]fputsとfprintfの違い
-
これなにがちがうんですか??
-
win10で、正確な待ち時間の作り方
-
システムエンジニアの適正について
-
ArduinoでMouse関数を使用して...
-
gccを行ってもexeファイルが生...
-
C言語 バッファについて。
-
整数1〜99を入力させ、それを英...
-
C言語初心者 ポインタについて...
-
あなたは、Excelはどうやって学...
-
LinuxカーネルのCFSで用いられ...
-
卒業研究でよく分からないとこ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
C言語 配列と関数の練習問題
-
システムエンジニアの適正について
-
[C言語]fputsとfprintfの違い
-
C言語をコンパイルするとコンピ...
-
mallocについて
-
どちのほうがすきですか?
-
ArduinoのジャイロモジュールMP...
-
大量のデータを読み込んで表示...
-
gccを行ってもexeファイルが生...
-
VisualStudio2022でC言語プログ...
-
C言語 列挙型(enum型)変数について
-
こんなことてしますか??
-
C言語の関数と配列に関する質問
-
Linuxでの開発環境構築や設定の...
-
質問失礼します。 プログラム言...
-
MACで動く実行ファイルをWindow...
-
WindowsのCapsLock(キャップス...
-
これなにがちがうんですか??
-
卒業研究でよく分からないとこ...
-
gcc13.2のバグ?
おすすめ情報