我想讀取包含我的代碼的座標值的文件。如何動態增加數組大小
我的問題是,我如何使數組大小足夠大,以包含將來添加到文件?
以下是我的代碼;當我將數組設置爲905的大小時,我的循環繼續,直到空間填滿。這是爲什麼?
FILE.txt
:
S (60,70)(200,200)
S (30,40)(100,200)
S (10,20)(80,10)
S (60,400)(700,200)
S (160,70)(240,20)
S (160,70)(240,20)
S (160,70)(240,20)
我的代碼:
#include <stdio.h>
int a;
int b;
int c;
int d;
int data[905][4];
int main (int argc, char *argv[])
{
if (argc != 2) /* argc should be 2 for correct execution */
{
/* We print argv[0] assuming it is the program name */
printf("usage: %s filename", argv[0]);
}
else
{
// We assume argv[1] is a filename to open
FILE *file = fopen(argv[1], "r");
/* fopen returns 0, the NULL pointer, on failure */
if (file == 0)
{
printf("Could not open file\n");
}
else
{
int j=0;int count=1
for (j=0; j < count; j++)
{
fscanf(file, "S (%d,%d)(%d,%d)", &a, &b, &c, &d);
printf("%d,%d,%d,%d\n",a, b, c, d);
count++
}
fclose(file);
}
}
}
請嘗試找到一個最簡單的例子,它不清楚你的意思,想要什麼,或者做錯了什麼......總的來說,你會調用'realloc()'或者做類似的事情.. –