0

以下代码行应该读取一个字符串、一个 int 和两个用逗号分隔的双精度数,并将它们存储在变量中。

fscanf(f,"%[^,],%d,%Lf,%Lf",name,&id,&east, &north);

它适用于我的 Visual Studio 2010 编译器并读取正确的值。我已经在另一台机器上运行该程序,在该机器上我有三个数字的随机值,但字符串的值是正确的。

会是什么呢?

4

1 回答 1

1

%Lf是类型long double,不是double。在 Microsoft 编译器上,long double具有与double. 使用%lfwith ,或者如果你想使用,double将类型更改为,它应该可以在任何地方使用。long double%Lf

于 2012-07-01T14:14:16.123 回答