ここに来るのは初めてで、C++ の初心者です。テキストファイルから読み込んでいるときに、句読点で文を分割する方法を知りたいです。
すなわち
hey how are you? The Java is great. Awesome C++ is awesome!
結果は、私のベクターでは次のようになります (ベクターの各コンテンツを表示するために endl を配置したと仮定します):
- 元気かい?
- Javaは素晴らしいです。
- 素晴らしい C++ は素晴らしいです。
これまでの私のコードは次のとおりです。
vector<string> sentenceStorer(string documentOfSentences)
{
ifstream ifs(documentOfSentences.c_str());
string word;
vector<string> sentence;
while ( ifs >> word )
{
char point = word[word.length()-1];
if (point == '.' || point == '?' || point == '!')
{
sentence.push_back(word);
}
}
return sentence;
}
void displayVector (vector<string>& displayV)
{
for(vector<string>::const_iterator i = displayV.begin(); i != displayV.end(); ++i )
{
cout << *i <<endl;
}
}
int main()
{
vector <string> readstop = sentenceStorer("input.txt");
displayVector(readstop);
return 0;
}
ここに私の結果があります:
- あなた?
- すごい。
- 驚くばかり!
前の単語を取得できず、それを修正できなかった理由を説明できますか?