我目前正在编写一个需要从文本文件中提取字符串和数字数据的 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
其中一个条目是完整的 7 个字符。在这种情况下,我得到;
names[3097][0] = "SIC2H3+ELECTR"
和,
names[3097][1] = "ELECTR"
任何人有任何想法......他们将不胜感激!