文件开头第一个整数读取错误

文件开头整数读取错误

读取的文件

  2021   5  27  11   0  0.000000  -35541024.274   22484351.332    3216624.204     -13.606799       6.899737    -181.699103
  2021   5  27  11   1  0.000000  -35541839.215   22484769.076    3205691.512     -13.557426       7.025452    -182.722863
  2021   5  27  11   2  0.000000  -35542651.164   22485194.351    3194697.500     -13.507021       7.150769    -183.743125
  2021   5  27  11   3  0.000000  -35543460.057   22485627.133    3183642.377     -13.455587       7.275679    -184.759869
  2021   5  27  11   4  0.000000  -35544265.834   22486067.397    3172526.355     -13.403128       7.400174    -185.773075
  2021   5  27  11   5  0.000000  -35545068.432   22486515.118    3161349.648     -13.349646       7.524244    -186.782725
  2021   5  27  11   6  0.000000  -35545867.791   22486970.271    3150112.469     -13.295146       7.647880    -187.788799
  2021   5  27  11   7  0.000000  -35546663.849   22487432.828    3138815.034     -13.239630       7.771073    -188.791278
  2021   5  27  11   8  0.000000  -35547456.546   22487902.763    3127457.558     -13.183104       7.893815    -189.790143
  2021   5  27  11   9  0.000000  -35548245.821   22488380.050    3116040.259     -13.125570       8.016096    -190.785374
  2021   5  27  11  10  0.000000  -35549031.614   22488864.659    3104563.356     -13.067032       8.137907    -191.776953

读取文件部分代码

for (m = 0; m < num; m++)
    {
        fscanf(in, "%d%d%d", &year, &month, &day);
        fscanf(in, "%d%d%lf", &hour, &minute, &second);
        tSecond = hour * 60 * 60 + minute * 60 + second;
        printf("%d, %d, %d\n", year, month, day);
        printf("%d, %d, %.6f\n", hour, minute, second);
}

程序运行结果

img

为什么第一个整数 2021 没有读进来?

找到问题了,是我自己之前有读文件的代码。