我有以下問題: sscanf
沒有回來時,我希望它的方式。 這是sscanf
:sscanf的不返回我想要
sscanf(naru,
"%s[^;]%s[^;]%s[^;]%s[^;]%f[^';']%f[^';']%[^;]%[^;]%[^;]%[^;]"
"%[^;]%[^;]%[^;]%[^;]%[^;]%[^;]%[^;]%[^;]%[^;]%[^;]%[^;]%[^;]"
"%[^;]%[^;]%[^;]%[^;]%[^;]%[^;]",
&jokeri, &paiva1, &keskilampo1, &minlampo1, &maxlampo1,
&paiva2, &keskilampo2, &minlampo2, &maxlampo2, &paiva3,
&keskilampo3, &minlampo3, &maxlampo3, &paiva4, &keskilampo4,
&minlampo4, &maxlampo4, &paiva5, &keskilampo5, &minlampo5,
&maxlampo5, &paiva6, &keskilampo6, &minlampo6, &maxlampo6,
&paiva7, &keskilampo7, &minlampo7, &maxlampo7);
它掃描的字符串:
const char *str = "city;"
"2014-04-14;7.61;4.76;7.61;"
"2014-04-15;5.7;5.26;6.63;"
"2014-04-16;4.84;2.49;5.26;"
"2014-04-17;2.13;1.22;3.45;"
"2014-04-18;3;2.15;3.01;"
"2014-04-19;7.28;3.82;7.28;"
"2014-04-20;10.62;5.5;10.62;";
所有的變量都存儲爲char paiva1[22]
等;但是,sscanf
沒有正確存儲除城市之外的任何內容。我一直試圖停止每個變量;
。 任何幫助如何得到它來存儲日期等正確的,將不勝感激。
或者,如果有這樣做更聰明的方式,我很開放的建議。
'sscanf(naru,「%s [^;]%s [^;] ...' - >'sscanf(naru,」%[^;];%[^;]; ...' – BLUEPIXY
你應該總是檢查任何scanf函數的返回值,而且,像這樣的長格式字符串將會成爲一個維護噩夢,如果它需要改變的話 – hyde
Yeesh,只是分割';'並完成那麼 –