[英]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.