【发布时间】:2014-12-12 08:13:03
【问题描述】:
我正在使用 fscanf 读取一个 txt 文件。
for (int i = 0; i < totalLines; ++i)
{
fscanf(fp,"%s %s %f %f[^\n]", &cp[i].name, &cp[i].animal, &cp[i].coordinates.lat, &cp[i].coordinates.lng);
printf("Name: %s\nAnimal: %s\nLat: %.6f\nLong: %.6f\n\n", cp[i].name, cp[i].animal, cp[i].coordinates.lat, cp[i].coordinates.lng);
}
问题在于它没有设置/打印最里面的结构成员或变量,它们是 2 个双精度 lng 和 lat 没有被分配。完成这项工作的最佳方法是什么?我在正确的轨道上吗?我试图用 (double) 来投射它,但这是通过错误来实现的。有什么想法吗?
更新
我已将代码更新为应有的样子,但我仍然得到一个 0 值。任何想法为什么?
【问题讨论】:
-
我已经更新了我的代码,但仍然没有运气。它看起来像双重不想在那里。
-
显示结构声明。
-
你能看出
&cp[i].name, &cp[i].animal,和cp[i].name, cp[i].animal,的区别吗
标签: c struct header-files scanf