1

次のようなテキストファイルがあります

1 \t words words words words
2 \t words words words words

# is the line #その後にタブが続き、その後にランダムな単語が続きます

int を読み取って格納し、\t をスキップして、単語の位置を追跡しながら各単語を個別に読み取る必要があります。

getline(file, word, ' ')とカウンターでそれができることを望んでいましたが、それは私の最初の単語を として取得し1 \t wordsます。

どんな助けや提案も大歓迎です。

4

2 に答える 2

3

と を使用stringstreamしますgetline

getline(file, line);
std::stringstream ssline(line);
int num;
ssline >> num;
std::string word;
while(ssline >> word){
// do whatever you want. 
}
于 2013-10-07T21:28:25.090 に答える
0

一行にいくつの単語があるか分からないと仮定すると、簡単な答えは 2 つのステップでそれを行うことです。

  1. getline を使用して行全体を文字列に読み込む
  2. その文字列を std::istringstream に配置し、行番号と次の単語を std::istringstream から読み取ります

その後、手順 1 から繰り返します

于 2013-10-07T21:27:20.227 に答える