我正在編寫一個需要從文本文件中提取字符串和數字數據的C++程序。數據格式如下:從文本中提取字符串數據C++
3225 C9+ ELECTR C8 C * 1.00E-6 -0.30 0.0
第一項是一個整數,接下來的5項都是字符串和最後3是浮動。沒有字符串長度超過7個字符。
我正在逐行讀取文件,然後使用提取數據;
sscanf(ln.c_str(),"%d %s %s %s %s %s %e %e %e",
&rref[numre],&names[numre][0],&names[numre][1],&names[numre][2],&names[numre][3],
&names[numre][4],&nums[numre][0],&nums[numre][1],&nums[numre][2]);
這個工作正常,直到我遇到一條線;
3098 SIC2H3+ ELECTR SIC2H2 H * 1.50E-7 -0.50 0.0
其中一個entrys是全長7個字符。在這種情況下,我得到;
names[3097][0] = "SIC2H3+ELECTR"
,並
names[3097][1] = "ELECTR"
任何人有任何想法......他們將不勝感激!
字段是否由製表符分隔?或只是空間? – StarPilot 2012-08-01 22:36:03