[1.1] csvファイルから3次元配列に値を読み込む(x方向、y方向、z値)関数を自作関数で作制したい。
[1.2] void関数でファイル名、csv中の列のサイズ、値を渡す配列を引数で渡し、値を読み取らせるようにした。
読み込みの関数
void read_file(char *filename,int SIZE,double histgram[1000][256][3]){
int p;
int ret,cnt=0;
int x=0,y=0;
double temp;
printf( "%s is not found\n", filename );
FILE *fp;
fp = fopen( filename, "r" );
if( fp == NULL ){
printf( "%s is not found\n", filename );
}
printf("start\n");
while((p = getc(fp)) != EOF && cnt < 30) {
if(p == '\n'){
cnt++;
}
}
for(x=0;x<800;x++){
for(y=0;y<SIZE;y++){
if(fscanf( fp, "%lf,", &temp)!='\0');
histgram[x][y][0] = x*50.0;
histgram[x][y][1] = y*50.0;
histgram[x][y][2] = temp*1000.0;
}
}
fclose(fp);
}
int main(int argc, char* argv[]){
int SIZE = 256;
double histgram[1000][256][3] = {0.0};
printf("Input sizeof let:");
scanf("%d",&SIZE);
//ファイル読み込み
read_file(argv[1],SIZE,histgram);
//ファイル読み込み終了
return 0;
}
*** starting debugger for pid 4080, tid 5976
1 [main] bead2 4080 try_to_debug: Failed to start debugger, Win32 error 2
*** continuing pid 4080 from debugger call (0)
*** starting debugger for pid 4080, tid 5976
3114 [main] bead2 4080 try_to_debug: Failed to start debugger, Win32 error 2
*** continuing pid 4080 from debugger call (0)
3540 [unknown (0x724)] bead2 4080 cygwin_exception::open_stackdumpfile: Dumping stack trace to bead2.exe.stackdump
*stackdumpファイル内
Exception: STATUS_STACK_OVERFLOW at rip=001004027F6
rax=00000000003E4038 rbx=000000000024CB20 rcx=0000000000053AC8
rdx=000000000024CB20 rsi=000000060003A070 rdi=0000000000000001
r8 =00000006000281A0 r9 =0000000000000000 r10=0000000000000040
r11=0000000000000000 r12=0000000000000000 r13=0000000000000001
r14=000000000024CB66 r15=000000000024CB66
rbp=000000000024CBC0 rsp=000000000024CAB0
program=D:\bead2.exe, pid 4080, thread unknown (0x724)
cs=0033 ds=002B es=002B fs=0053 gs=002B ss=002B
Stack trace:
Frame Function Args
0000024CBC0 001004027F6 (00100402EDC, 0000024CB20, 0060003A070, 00180048410)
0000024CBC0 000005DC038 (0000024CB20, 0060003A070, 00180048410, 00000000001)
0000024CBC0 00000000002 (0060003A070, 00180048410, 00000000001, 00000000020)
0000024CBC0 00100402EDC (00000000020, FF0700010302FF00, 0018004839F, 0000024D680)
0000024CBC0 00180048410 (00000000000, 00000000000, 00000000000, 00000000000)
00000000000 001800460DC (00000000000, 00000000000, 00000000000, 00000000000)
00000000000 00180046174 (00000000000, 00000000000, 00000000000, 00000000000)
00000000000 001004028D1 (00000000000, 00000000000, 00000000000, 00000000000)
00000000000 00100401010 (00000000000, 00000000000, 00000000000, 00100401000)
00000000000 7FF9F61A2D92 (00000000000, 00000000000, 00000000000, 00000000000)
00000000000 7FF9F87A9F64 (00000000000, 00000000000, 00000000000, 00000000000)
End of stack trace
[1] 質問文
[1.1] 自分が今行いたい事は何か
ファイル読み込みを行う自作関数を作りたい
[1.2] どのように取り組んだか(プログラムコードがある場合記載)
コード記載しました
[1.3] どのようなエラーやトラブルで困っているか(エラーメッセージが解る場合は記載)
エラーの記載をしました
ファイル読み込み部でエラーが出るようです
[1.4] 今何がわからないのか、知りたいのか
エラーが出る原因と解決策(main関数で実行すれば読み込みできましたが、できれば自作関数内で行いたい)
[2] 環境
[2.1] OS : Windows10
[2.2] コンパイラ名 : gcc-4.9.3 Cygwin環境
[3] その他
・どの程度C言語を理解しているか
基本レベル(工学科大学1年生レベル)
・ライブラリを使っている場合は何を使っているか
ライブラリ不使用
ご享受いただけましたら幸いです。
よろしくお願いいたします。