[問題] 資料太多會出現程式當掉
目前在撰寫一個簡單的轉檔程式,程式如下:
#include <stdio.h>
#define SIZE 100
int max_x(int ),max_y(int ),min_x(int ),min_y(int );
int compare_max_x_num=0,compare_max_y_num=0,compare_min_x_num=999,compare_min_y_num=999;
int main(){
int x[SIZE]={0},y[SIZE]={0},bin[SIZE],output[SIZE][SIZE]={0};
int count=0,x_max,x_min,y_max,y_min;
int x_quadrant,y_quadrant;
int conver_compare_num;
char conver_char[62]={'.','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z',
'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'};
FILE *f1=fopen("aa.txt","r");
FILE *f2=fopen("bb.txt","w");
while (fscanf(f1,"%d,%d,%d",&x[count],&y[count],&bin[count]) != EOF ){ //開檔讀值
output[x[count]][y[count]]=bin[count];
//抓 X座標 Y座標 最大最小值
x_max=max_x(x[count]);
x_min=min_x(x[count]);
y_max=max_y(y[count]);
y_min=min_y(y[count]);
count++;
}
fclose(f1);
//印出轉檔之後的結果
for (y_quadrant=y_min;y_quadrant<=y_max;y_quadrant++){
for (x_quadrant=x_min;x_quadrant<=x_max;x_quadrant++){
//設定轉換數值
if (output[x_quadrant][y_quadrant]==254)
fprintf(f2,"P");
else{
for (conver_compare_num=0;conver_compare_num<62;conver_compare_num++){
while (output[x_quadrant][y_quadrant]==conver_compare_num){
fprintf (f2,"%C",conver_char[conver_compare_num]);
break;
}
}
}
}
fprintf (f2,"\n");
}
return 0;
}
int max_x(int num_x)
{
if (num_x>=compare_max_x_num)
compare_max_x_num=num_x;
return compare_max_x_num;
}
int min_x(int num_x1)
{
if (num_x1<=compare_min_x_num)
compare_min_x_num=num_x1;
return compare_min_x_num;
}
int max_y(int num_y)
{
if (num_y>=compare_max_y_num)
compare_max_y_num=num_y;
return compare_max_y_num;
}
int min_y(int num_y1)
{
if (num_y1<=compare_min_y_num)
compare_min_y_num=num_y1;
return compare_min_y_num;
}
若aa.txt為簡單的幾行
2,-2,254
3,-2,254
4,-2,254
5,-2,254
則可以成功創造出bb.txt
但是如果將SIZE改為10000
aa.txt若改為 http://www.badongo.com/file/21567968
(aa.txt直接由aa.CSV更改附檔名)
則會出現 http://www.badongo.com/pic/9140477 此錯誤訊息
請問該如何解決此問題?
謝謝各位大大的指點(已經卡關好久了....囧)
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 112.104.17.153
※ 編輯: Mrdx 來自: 112.104.17.153 (03/28 00:32)
※ 編輯: Mrdx 來自: 112.104.17.153 (03/28 00:33)
※ 編輯: Mrdx 來自: 112.104.17.153 (03/28 00:33)
※ 編輯: Mrdx 來自: 112.104.17.153 (03/28 00:34)
→
03/28 00:35, , 1F
03/28 00:35, 1F
推
03/28 01:49, , 2F
03/28 01:49, 2F
→
03/28 01:49, , 3F
03/28 01:49, 3F
→
03/28 01:50, , 4F
03/28 01:50, 4F
→
03/28 06:43, , 5F
03/28 06:43, 5F
→
03/28 06:44, , 6F
03/28 06:44, 6F
→
03/28 06:44, , 7F
03/28 06:44, 7F
→
03/28 07:53, , 8F
03/28 07:53, 8F
→
03/28 07:53, , 9F
03/28 07:53, 9F
→
03/28 19:20, , 10F
03/28 19:20, 10F
→
03/28 19:20, , 11F
03/28 19:20, 11F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章