現在、ファイルから各行を読み込み、特定の区切り記号を使ってその語から単語を抽出するプログラムを作成しています。最後の単語が読み込まれない
だから基本的に私のコードは私のコードは、行の最後の言葉を読んでdidnotしかし、この
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main(int argv, char **argc)
{
ifstream fin(argc[1]);
char delimiter[] = "|,.\n ";
string sentence;
while (getline(fin,sentence)) {
int pos;
pos = sentence.find_first_of(delimiter);
while (pos != string::npos) {
if (pos > 0) {
cout << sentence.substr(0,pos) << endl;
}
sentence =sentence.substr(pos+1);
pos = sentence.find_first_of(delimiter);
}
}
}
のように見えます。たとえば、私のファイルは次のようになります。 hello world
プログラムからの出力は "hello"という単語だけですが、 "world"ではありません。私はデリミタとして '\ n'を使用していますが、なぜdidnotは動作しますか?
ご了承ください。
これはクラス割り当てのようです。 –
明らかに実際のコードではありません - "文"の定義はどこですか? –
私はこれを修正しましたが、将来は記述されているように動作するコードを投稿してください。最初に投稿したものはコンパイルされませんでした。あなたが話しているバグを示す作業コードを投稿すれば、時間を節約し、より速い答えを得ることができます。 –