gpt4 book ai didi

c++ - 在 C++ 中逐字循环时读取行尾

转载 作者:行者123 更新时间:2023-11-30 02:55:38 25 4
gpt4 key购买 nike

我正在阅读一个包含句子列表的文件,我需要阅读每个单词并尝试找出这个单词在哪行号..该文件包含:

I am for truth
no matter who tells it,
I am for justice,
no matter who it is for or against
Malcom X

我希望输出采用这种形式:

against 4 
matter 4
am 1, 3
no 2, 4
for 1, 3, 4
or 4
I 1, 3
tells 2
is 4
truth 1
it 2, 4
who 2,4
justice 3
X 5
Malcolm 5

我正在使用二叉搜索树,这是我的代码:

int main(int argc, char *argv[]) {
fstream infile ;
BSTFCI <string>* bst = new BSTFCI<string>();
string word;
string line;
infile.open("test.txt" , ios::in);
if(infile.fail())
{
cout<<"Error Opening file"<<endl;
return 0;
}

while(!infile.eof())
{

infile>>word;

for(int i=0 ; i<word.size();i++)
{
if(ispunct(word[i]))
word.erase(i,1);
}
cout<<count<<endl;
if(!bst->search(word))
{
cout<<word<<endl;
bst->insert(word);
cout<<"add"<<endl;
}
else
{
cout<<word<<endl;
cout<<"exist"<<endl;
}
}

infile.close();
return 0;
}

最佳答案

这可能会让你开始,

#include <string>
#include <fstream>
#include <sstream>

// read the file line by line
int line_number = 0;
string line;
while (getline(infile, line))
{
++line_number;
// put the line in an istringstream
istringstream buffer(line);
// read the words from the line
string word;
while (buffer >> word)
{
// do something with word and line_number
// save them in some data structure
}
}

关于c++ - 在 C++ 中逐字循环时读取行尾,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16255403/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com