Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
以下代码行应该读取一个字符串、一个 int 和两个用逗号分隔的双精度数,并将它们存储在变量中。
fscanf(f,"%[^,],%d,%Lf,%Lf",name,&id,&east, &north);
它适用于我的 Visual Studio 2010 编译器并读取正确的值。我已经在另一台机器上运行该程序,在该机器上我有三个数字的随机值,但字符串的值是正确的。
会是什么呢?
%Lf是类型long double,不是double。在 Microsoft 编译器上,long double具有与double. 使用%lfwith ,或者如果你想使用,double将类型更改为,它应该可以在任何地方使用。long double%Lf
%Lf
long double
double
%lf