簡體   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