繁体   English   中英

如何在C中使用scanf读取逗号分隔的浮点值

[英]how to read comma separated float values using scanf in c

我正在创建一个小的工具,该工具可以读取csv文件数据,该数据必须从csv文件读取经度,纬度和信息,然后将其写入Java脚本对象表示法的另一个文件中。 例如:42.363400,-71.098465,速度= 21 42.363327,-71.097588,速度= 23

现在我知道我可以先读整行,然后搜索,并选择每个数据,将其分配给各个变量。 但是我想知道有什么方法可以使用scanf一次将数据提取到变量中。

scanf("%f %f %100[^\n]s",&latitude,&longitude,info);

我们可以调整scanf来完成此操作吗?

只需将逗号放在所需的位置:还请记住,单个空格匹配0或多个空格的序列:

while (scanf("%f , %f , Speed = %d",&latitude,&longitude,&speed) == 3)
  /* store in array */

除了chac的答案,您可能还想使用sscanf() ,它接受指向缓冲区的指针,而不是scanf()

sscanf(csvFileBuff, "%f , %f , ... ",&latitude,&longitude, ... );

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM