尝试在写入文本后计算文本文件中相似项目的数量,但是我收到了No operator << matches these operands operand type are std::ofstream >> std::string
。代码可以工作,但是在添加while循环时,我会收到错误textfile >> item
。它与文本文件的流有关系吗?
#include "stdafx.h"
#include <fstream>
#include <iostream>
#include<string>
using namespace std;
int main()
{
string accord[6];
ofstream textfile;
textfile.open("C:\\temp\\1.txt");
cout << "Enter a 6 cylinder car : " << endl;
for (int x = 0; x < 6; x++) {
getline(cin, accord[x]);
}
for (int x = 0; x < 6; x++) {
textfile << accord[x] << endl;
}
int count = 0;
string item;
while (!textfile.eof()) {
textfile >> item;
if (item == "6") {
count++;
}
}
cout << count << "found!" << endl;
textfile.close();
return 0;
}
最佳答案
可能因为错误提示,类 std::ofstream
没有该运算符。
正如您自己可以想象的那样,输出流是一个旨在在(输出)上写入的对象。因此,您不允许输入操作。
std::fstream
是文件的输出流和输入流。它支持operator<<
operator>>
。