我正在嘗試從文件中讀取多個浮動塊。當我只使用一個變量,它工作正常,但保存到多個浮點數的時候有問題:使用fscanf時出現Segfault
float r_testdata[3276334];
float i_testdata[3276334];
int e = 1;
FILE *fpI_i = fopen("/home/users/Documents/document.dat","r");
for(int i = 0; i < 3276334;i++) {
e = fscanf(fpI_i,"%f %f",&r_testdata[i],&i_testdata[i]);
if(e != 1) {
fprintf(stderr,"Error reading file\n");
}
}
fclose(fpI_i);
當fscans運行與2讀取它出現segfaults。這看起來像fscanf格式化的問題,但我沒有看到問題是什麼。我查看了類似問題的帖子,但沒有得到修復。
這一切都在相同的功能?我們不能說[因爲你的代碼不是MCVE](http://stackoverflow.com/help/mcve)。如果是,那麼'float real_testdata [3276334];'是(這是?的一部分?)問題---在兩個結構之間,你在棧上分配24MB的數據*。 –
'e!= 1' - >'e!= 2'和拼寫錯誤的變量名稱。 – BLUEPIXY
如果你只是需要掃描浮點數,我建議你使用'double',然後'%lf' – KKastaneda