【发布时间】:2015-11-15 18:53:33
【问题描述】:
我正在尝试从一个 500Mb 文本文件中读取多个整数,其中整数是 int 格式
1000002 1 55
1000002 1000006 33
1000002 1000007 8
1000002 1000009 144
当我尝试读取整数时,我遇到的问题是程序没有读取足够的整个文件以及它读取的那个文件,它似乎不是我的代码的正确值
FILE *file;
file = fopen("user_artist_data.txt", "r");
int User_ID, artist_ID, Play_Count = 0;
int check = 0;
while(fscanf(file, "%d %d %d", &User_ID, &artist_ID, &Play_Count) != 0)
{
check++;
printf("%d %d %d\n", User_ID, artist_ID, Play_Count);
}
fclose(file);
你能帮我修复我的代码吗? 谢谢
【问题讨论】:
-
首先尝试检查读取时是否有错误,并在退出循环之后和关闭
file之前查看errno值及其与strerror(errno)的文本表示。 -
你在 TurboC 中使用 16 位整数编程吗?
-
我在 OS X 上使用 GCC
-
那么有些事情你没有告诉我们。您能否将输入文件发布到文件共享站点,以便我们验证实际格式和内容?使用 bzip2 或 gzip 压缩它会大大减小大小。