所以我试图从一个文件中读取所有单词,并在我这样做时去掉标点符号。这是剥离标点符号的逻辑:
编辑:该程序实际上完全停止运行,只是想弄清楚这一点
ifstream file("text.txt");
string str;
string::iterator cur;
for(file>>str; !file.eof(); file>>str){
for(cur = str.begin(); cur != str.end(); cur++){
if (!(isalnum(*cur))){
cur = str.erase(cur);
}
}
cout << str << endl;
...
}
假设我有一个文本文件,内容如下:
This is a program. It has trouble with (non alphanumeric chars)
But it's my own and I love it...
当我cout
和endl;
我的字符串在这个逻辑之后,我会得到
This
is
a
program
It
has
trouble
with
non
alphanumeric
这就是所有人。我的迭代器逻辑有问题吗?我该如何解决这个问题?
谢谢你。