所以我在读取文本文件并将其存储到两个数组时遇到了麻烦。我对代码很陌生,觉得我缺少一些明显的东西。我希望我的代码能够读取简单的.txt文件(如下所示):
0.036 1.364 0.064 2.727 0.082 4.215 0.111 6.694 0.135 9.05 0.146 9.545 0.172 11.901 0.181 12.149 0.191 11.901 0.211 9.174 0.239 7.314 0.264 6.074 0.275 5.95 0.333 5.207 0.394 4.835 0.445 4.835 0.556 4.339 0.667 4.587 0.723 4.339 0.78 4.339 0.793 4.091 0.812 2.603 0.833 1.24 0.857 0.0
通过将第一列存储到一个数组中并将第二列存储到另一个数组中。这是我当前的代码:
int main(void)
{
FILE *file = fopen("B6", "r");
if (file == NULL)
{
printf("Can't open file for reading.\n");
}
int array1[999], array2[999];
int i = 0;
while (fgetc(file) != EOF)
{
fscanf(file, "%d", &array1[i]);
fscanf(file, "%d", &array2[i]);
printf("%d\n", array1[i]);
printf("%d\n", array2[i]);
i++;
}
fclose(file);
}
问题是,如果数字为0,小数,空格或换行符,程序将自动扫描到下一个数组。我不知道如何指定不这样做,或仅跳过某些内容,例如换行符。这是一个如何打印的示例:
0 0 36 1个 364 0 64 2 727
如果有人有很好的答案,谢谢。