我有一个文件,它持有这样的整数:
11_12_34_1987_111_
其中_
表示空格,我想将它们存储在最大大小为100的整数数组中。我试过这个
i=0;
while((c=fgetc(f))!=EOF)
{
fscanf( f, "%d", &array[i] );
i++;
}
但打印此数组会在屏幕上显示无限值。
答案 0 :(得分:2)
fgetc
从流f
中读取下一个字符,并将其作为unsigned char
广告投放回int
。因此,您要存储从流中读取的字符的(ascii)代码。
您应该使用fscanf
或fgets
和sscanf
的组合将其作为整数读取,以从流中读取整数。您可以检查fscanf
的{{1}}的返回值,并继续阅读该文件。这就是我的建议。
1