私はプロトコルをテストして調整しています。次のコードを実行すると、配列サイズをsay.300000より大きくするとクラッシュします。それは200000で動作します。その数は非常に少ないようです。それは私のPC、私のコードですか?助けてください。私の目標は、簡単な数学、ファイルへの書き込み、ファイルのクローズ、開いた後のファイルからの読み取り、別のファイルへの書き込みなどがどれほど速くできるかを確認することです。私はwin7でCodeblocks GNU GCCコンパイラを使用しています。また、私はdig2.txtの下部に期待するものとは異なる番号を取得。(2ずつ増加していない)コードには小さな制限があります
#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;
}
ではなく自動変数のmalloc' 'てみ –
intの代わりに長くしてみてください。 –
通常のコード書式を使用してください。これは読めません。 – KevinDTimm