我有一个包含内容的文本文件:
人工神经网络(ANNs)或连接系统 计算系统模糊地受到生物神经网络的启发 构成动物的大脑。[1]这种系统“学习”(即 通过考虑示例,逐步提高任务的性能, 通常没有特定于任务的编程。例如,在图像中 识别,他们可能会学会识别包含猫的图像 分析已手动标记为“猫”或“猫”的示例图像 “没有猫”并使用结果来识别其他图像中的猫。他们 在没有关于猫的任何先验知识的情况下这样做,例如,他们 有毛皮,尾巴,胡须和猫似的脸。相反,他们进化了 他们自己的一套相关特征来自学习资料 他们处理。
我正在使用此代码来阅读内容。
ifstream file("/Users/sourav/Desktop/stl/stl/stl/testdata.txt");
while (! file.eof()) {
string word;
file >> word ;
cout << word << "\n";
}
这是输出的前几行:
Artificial
neural
(ANNs)
are
vaguely
如果您发现内容未正确读取。我没有看到or connectionist systems are computing systems
。
我在阅读时缺少文本文件中的少量字符串值。
注意:我正在使用Xcode。
ifstream file("/Users/sourav/Desktop/stl/stl/stl/dictionary.txt");
string line;
if (file.is_open()) // same as: if (myfile.good())
{
while(getline(file,line,'\r')){
transform(line.begin(), line.end(), line.begin(), ::tolower);
Dictionary.insert(line);
}
cout<<Dictionary.size()<<" words read from dictionary\n";
file.close();
为什么当我将它转换为小写
时,dictionary.size()的值会发生变化答案 0 :(得分:1)
尝试使用以下内容:
ifstream file("/Users/sourav/Desktop/stl/stl/stl/testdata.txt");
string word;
while(file >> word) //While there is a word to get... get it and put it in word
{
cout << word <<"\n";
}
可以在已接受的问题read word by word from file in C++
中找到更多解释虽然这与你的逻辑之间的逻辑没有多大区别。
答案 1 :(得分:1)
虽然这可能无法解释为什么它不起作用,但您的代码可能如下所示:
ifstream file("testdata.txt");
do {
string word;
file >> word ;
if (!file.good()) break;
cout << word << "\n";
} while (!file.eof());
如果您从未尝试过先阅读某些内容,那么测试eof
条件是不正确的。
此代码(以及在逻辑上不正确的代码)完美运行。所以发生了其他事情(与xcode
无关)。