我寫過一個程序來存儲文本文件中的字符向量。計算字符向量中的單詞出現次數
#include<iostream>
#include<fstream>
#include <algorithm>
#include<vector>
using namespace std;
int main()
{
vector<char> vec;
ifstream file("text.txt");
if(!file.eof() && !file.fail())
{
file.seekg(0, std::ios_base::end);
std::streampos fileSize = file.tellg();
vec.resize(fileSize);
file.seekg(0, std::ios_base::beg);
file.read(&vec[0], fileSize);
}
int c = count(vec.begin(), vec.end(), 'U');
cout << c;
return 0;
}
我想在文本文件中計算「USER」的出現次數,但是使用count我只能計算字符數。我如何計算字符向量中「USER」的出現次數?
例如 的text.txt
USERABRUSER#$$* 34 USER ABC RR IERUSER
然後 「USER」 的計數是4字只能爲大寫。
定義「word」的含義。另外,你的IO不是很正確:在打開之後使用'file.is_open()'進行測試更爲習慣。更重要的是,'file.read'可能會失敗,因爲您計算大小的方式在非Unix平臺上不起作用。 –
我已經更新了這個問題。 –