我对istringstream操作有点新意。我需要找到一种方法来迭代包含八个段落的文本文件中的单词。我需要获取每个单词,测试某些条件,然后如果它通过清单则存储到链表中。我需要帮助的是如何逐个提取每个单词,使用它,检查它,等等。这是我的一些代码:有人可以提供一些建议吗?我有一个循环,但它不会更新字符串子串的值,谢谢
#include <iostream>
#include <string>
#include <sstream>
#include <fstream>
using namespace std;
string getLineOfText(ifstream &strIn);
string parseLineOfText(string&);
int main()
{
ifstream in("Text.txt");
istringstream strI;
string substrings;
string strg;
int lineCount = 0;
while (!in.eof())
{
strg = getLineOfText(in);
++lineCount;
strI.str(strg);
while (strI >> substrings)
cout << substrings << " ";
strI.str("");
}
cout << substrings << endl;
cout << endl << lineCount << endl;
system("pause");
return 0;
}
string getLineOfText(ifstream &strIn)
{
string lineTxt;
getline(strIn, lineTxt);
return lineTxt;
}
答案 0 :(得分:0)
将strI
的定义移到外部while
循环中。
int main()
{
ifstream in("Text.txt");
string strg;
int lineCount = 0;
while (!in.eof())
{
strg = getLineOfText(in);
++lineCount;
istringstream strI(strg);
string substrings;
while (strI >> substrings)
cout << substrings << " ";
}
cout << endl << lineCount << endl;
system("pause");
return 0;
}