
タイトルの通りです。以下のプログラムを実行するとコアダンプがでるので、解決法を教えて頂きたいです。
5つのdatファイルの読み込みはうまくいきました。15個に増やしたところ、コアダンプが表示されました。
ファイルポインタを使わずに実行してみたら15個でも大丈夫でしたので、ファイルポインタが原因かと思います。
typedef struct{
int class;
int** matrix;
}pattern_struct;
int main(int argc,char* argv[]) {
pattern_struct *learn;
FILE *fp;
int width,height;
int i,j,k,value;
learn=(int*)malloc(argc*sizeof(int));
//ファイルからの学習データの読み込み
for(k=1;k<argc;k++){
fp=fopen(argv[k],"r");
printf("%s\n",argv[k]);
printf("学習する数字を入力してください ");
scanf("%d",&learn[k].class);
fscanf(fp,"%d %d",&width,&height);
learn[k].matrix=(int**)malloc(height*sizeof(int*));
for(i=0;i<height;i++) learn[k].matrix[i]=(int*)malloc(width*sizeof(int));
for(i=0;i<height;i++){
for(j=0;j<width;j++){
fscanf(fp,"%d",&value);
learn[k].matrix[i][j]=value;
}
}
fclose(fp);
fp=NULL;
}
return 0;
}
No.2ベストアンサー
- 回答日時:
あと、これ、コンパイルはどんなコンパイラ使ってますか?
その時に警告表示の設定はしていますか?
#1で示した行で警告でませんか?
この回答への補足
コンパイラにはcygwinを使用しています。
はい。#1で示した行で
警告: assignment from incompatible pointer type
と警告されました。
どのような問題があるのですか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
#define _CRT_SECURE_NO_WARNIN...
-
「指定されたキャストは有効で...
-
C言語での引数の省略方法
-
複数桁10進数の*桁目だけを抽出...
-
入力された数字を大きい順に並...
-
int16_t の _t は何?
-
【C++】関数ポインタの使い方
-
C言語 エラーの原因がわからな...
-
数字列を3桁ごとにカンマで区切...
-
C言語での平滑化フィルタ
-
実数の整数部,小数部の取得
-
エラー 添字が付けられた値が、...
-
毎回違う乱数を生成するにはど...
-
構造体のすべての変数を文字列...
-
コンパイルエラー
-
ブロックで };ついているのと...
-
ラップ関数とはどんなものですか?
-
整数データの配列から同じ値の...
-
if と配列の組み合わせ
-
商と剰余を同時に求める(C言語)
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
複数桁10進数の*桁目だけを抽出...
-
C言語での引数の省略方法
-
「指定されたキャストは有効で...
-
#define _CRT_SECURE_NO_WARNIN...
-
C言語 エラーの原因がわからな...
-
【C++】関数ポインタの使い方
-
ラップ関数とはどんなものですか?
-
エラー 添字が付けられた値が、...
-
acceptをalarmでタイムアウトさ...
-
if と配列の組み合わせ
-
式は定数値が必要です」という...
-
(マルチスレッド)_beginthrea...
-
構造体の勉強中です 合計点の高...
-
「{ } で囲むだけ」は正しい?
-
数字列を3桁ごとにカンマで区切...
-
return 1L
-
C#のコンパイルエラーCS0120に...
-
std::set<int> で、ある値が何...
-
C言語で分からないところがあり...
-
PowerShellがうまくいかない
おすすめ情報