我寫一個程序,讀取一起含有我的數據與測量例如爲單位的文本文件:讀取前綴在C++
8.9837 ns , 8.9826 ns , 8.8998 ns , 9.0433 ns , 143.5 ps
13.037 ns , 13.027 ns , 12.983 ns , 13.075 ns , 91.1 ps
-16.18 mV , -17.842 mV , -39.78 mV , -9.44 mV , 30.34 mV
我使用fgets
讀取每個行,然後strtok
以除去空間和昏迷。試圖實現一個簡單的函數來轉換我的測量單位的前綴時,我的問題就出現了。該功能收到char*
並返回double
。似乎很簡單,但編制的回報:
error: ‘prefixing’ was not declared in this scope
這裏是我的功能:
double prefixing(char * prefixit)
{
if(strspn(prefixit, "m") == 1) return 1e-3;
...
return 1.;
}
,這裏是我怎麼稱呼它:
char * p = strtok (line,spliter);
double prefix = prefixing(p);
什麼我做錯了什麼建議將不勝感激。
乾杯,
你是指後綴而不是前綴? –
嗯,是的,不是...... 它是測量單位的前綴,但是您是對的,它是值的後綴。或者我可能會得到它完全錯誤:D – lazaraza
你在哪裏聲明的功能。你如何將它包含在主函數中? – vincent