客观的:
我正在逐字阅读文本文件,并将每个单词保存为数组中的一个元素。然后我逐字打印出这个数组。我知道这可以更有效地完成,但这是一个分配,我必须使用一个数组。
我正在对数组进行更多操作,例如计算重复元素、删除某些元素等。我还成功地将文件转换为完全小写且没有标点符号。
现在的情况:
我有一个如下所示的文本文件:
beginning of file
more lines with some bizzare spacing
some lines next to each other
while
others are farther apart
eof
这是我的一些代码,itemsInArray
初始化为 at0
和一个单词数组,称为wordArray[ (approriate length for my file ) ]
:
ifstream infile;
infile.open(fileExample);
while (!infile.eof()) {
string temp;
getline(infile,temp,' '); // Successfully reads words seperated by a single space
if ((temp != "") && (temp != '\n') && (temp != " ") && (temp != "\n") && (temp != "\0") {
wordArray[itemsInArray] = temp;
itemsInArray++;
}
问题:
我的代码将行尾字符保存为我的数组中的一个项目。在我的 if 语句中,我列出了我试图排除行尾字符的所有方法,但我没有运气。
如何防止行尾字符另存为数组中的项目?
我已经尝试了在与此类似的线程上找到的其他一些方法,包括*const char
我无法使用的方法,以及迭代和删除换行符。我已经为此工作了几个小时,我不想重新发布相同的问题,并且尝试了很多方法。