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