0

よろしくお願いします。次の形式のファイルを読み込もうとしています。

100      Every line has  
23452    A different number of words  
30       etc

行ごとに読み取る方法を使用する場合:

ファイル >> 数値 [i] >> str

文字列にスペースが含まれているため、明らかに機能しません。他にこれを行う方法を知っている人はいますか? 数値を配列に保存することにのみ関心があります。ありがとう!

4

1 に答える 1

2

fstream を使用すると、行を読み取って特定の文字 (スペースなど) で停止する方法があります。

fstream の C++ リファレンスから

istream& getline (char* s, streamsize n, char delim );

区切り文字が見つかった場合、それは抽出されて破棄されます。つまり、格納されず、次の入力操作がその後に開始されます。

この後、行の最初の部分を取り出し、intまたは他の数値形式に変換し、別のものを使用getlineして行の残りを取得し (改行文字で自動的に区切ります)、繰り返します。

于 2012-07-11T23:53:18.057 に答える