我有一个包含一组数字的文件。 我试图将这些数字读入数组中。我使用一个指针为该数组分配内存,并从该文件读入该位置。 由于某些原因,程序不会从文件中读取超过5个值。整个文件没有读取
int main(int argc, char* argv[])
{
int i=0, count=0;
//unsigned long int num[1000];
unsigned long int *ptr;
ptr = (unsigned long int*) malloc (sizeof(unsigned long int));
char file1[30], file2[30];
int bin[1000][32];
int ch;
argv++;
strcpy(file1,*argv);
FILE *fp;
fp=fopen(file1, "r");
while((fscanf(fp,"%ld",ptr))==1)
{
ptr++;
count++;
}
ptr=ptr-count;
for(i=0; i<count;i++,ptr++)
printf("%ld\n",*ptr);
return 0;
}
输入文件包含以下内容:
1206215586
3241580200
3270055958
2720116784
3423335924
1851806274
204254658
2047265792
19088743
输出仅仅是这样的:提前
1206215586
3241580200
3270055958
2720116784
3423335924
感谢。
您尝试读取多个值到内存中只有一个值足够大。 – usr2564301