我有一个名为 somedata.dat 的数据文件,它包含一个数字对列表。约10000双。像这样:
3 19
5 213
1 34
7 93
我尝试打开文件并阅读它们,然后将数字放入 10000x2 数组中。但是,使用以下代码,它会在循环达到第 80000 次时停止运行(不用说 EOF)。有任何想法吗?谢谢。
int main(int argc, char *argv[])
{
int data[10000][2];
FILE *fp;
char s[5];
char temp[2];
char cur;
char next;
int pid=0;
int k=0;
fp = fopen("c:\\somedata.dat","r");
while (!EOF)
{
cur = fgetc(fp);
if (cur==' ')
{
data[pid][0]=atoi(s);
memset(&s[0], 0, sizeof(s));
}
else if (cur=='\n')
{
data[pid][1]=atoi(s);
pid++;
memset(&s[0], 0, sizeof(s));
}
else
{
temp[0]=cur;
temp[1]='\0';
strcat(s,temp);
}
}