我的一个项目的 C++ 源代码中有一个愚蠢的错误。我在这部分做源 I/O 操作。我有一个愚蠢的错误,我打印 fscanf 读取值。在这部分的下面:首先,我没有读取好的值,当我打印一个浮点值时,我得到一个带有逗号','而不是点'的十进制值。在整数部分和浮点部分之间。
FILE* file3;
file3=fopen("test.dat","r");
float test1;
fscanf(file3," %f ",&test1);
printf("here %f\n",test1);
float test3 = 1.2345;
printf("here %f\n",test3);
fclose(file3);
其中test.dat
文件包含“1.1234”,我得到执行:
here 1,000000
here 1,234500
所以,我做了一个用 g++ 编译的简单测试 C 程序:
#include <stdio.h>
#include <stdlib.h>
int main()
{
FILE* file3;
float test3;
file3=fopen("test.dat","r");
fscanf(file3,"%f",&test3);
printf("here %f\n",test3);
fclose(file3);
}
它给出了:
here 1.123400
这是我第一次遇到这样的错误。任何人都可以看到有什么问题吗?