現在、テキスト ファイルから文字列と数値データを抽出する必要がある C++ プログラムを作成しています。データの形式は次のとおりです。
3225 C9+ ELECTR C8 C * 1.00E-6 -0.30 0.0
最初のエントリは整数、次の 5 つのエントリは文字列、最後の 3 つのエントリは浮動小数です。文字列の長さが 7 文字を超えることはありません。
ファイルを 1 行ずつ読み取ってから、次を使用してデータを抽出しています。
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
ここで、エントリの 1 つは完全な 7 文字の長さです。この場合、私は得る;
names[3097][0] = "SIC2H3+ELECTR"
と、
names[3097][1] = "ELECTR"
誰でもアイデアを得ることができます...彼らは大歓迎です!!