Я написал программу для хранения текстового файла в векторе символов.Подсчет вхождений слова в вектор символов
#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» в текстовом файле, но с использованием счета я могу рассчитывать только количество символов. Как я могу подсчитать количество вхождений «USER» в вектор символа?
Например text.txt
USERABRUSER#$$* 34 USER ABC RR IERUSER
Затем счетчик "USER" является 4. Слова могут быть только в верхнем регистре.
Определите, что вы подразумеваете под словом. Кроме того, ваш IO не совсем прав: более идиоматично тестировать с помощью 'file.is_open()' после открытия; что более важно, 'file.read', скорее всего, не удастся, так как способ вычисления размера не будет работать на платформах, отличных от Unix. –
Я обновил вопрос. –