我正在測試和調整協議。當我運行下面的代碼時,它會崩潰,當我使我的數組大小更大說30000。它運行在200000.該數字似乎非常小。是我的電腦,我的代碼嗎?請幫忙。我的目標是看看我可以用多快的速度完成簡單的數學運算,寫入文件,關閉文件,打開文件之後從文件中讀取數據並寫入其他文件。我在win7上使用Codeblocks GNU GCC編譯器。我也從我期望在dig2.txt底部得到不同的數字。(不增加2)c代碼有小限制
#include <stdio.h>
int main() {
printf("Hello Test\n");
FILE *fp;
FILE *fp2;
FILE *fp3;
int a;
int sizofFile = 300000;
int pix[sizofFile];
int pix2[sizofFile];
fp = fopen("dig.txt", "w+");
for (a = 0; a<(sizofFile); a = a + 1){
pix[a]=a * 2; //load the array
}
fwrite(pix, sizeof(a), sizofFile, fp); //stream data to file
printf("Good bye Test \n");
fclose(fp); //close first file
fp2 = fopen("dig.txt", "r"); // reopen file to read
fp3 = fopen("dig2.txt", "w+"); // open a write file for human vision
fread(pix2, sizeof(a), sizofFile, fp2);
for (a = 0; a < sizofFile; a = a + 1){
fprintf(fp3, "%d \n", pix2[a]); // make human readable
}
fclose(fp2);
fclose(fp3);
return 0;
}
之前嘗試的長不是int –
嘗試'malloc',而不是自動變量。 –
請使用正常的代碼格式樣式 - 這是不可讀的 – KevinDTimm