так как у меня искомое всегда в конце файла - нужно читать с конца.
только вот никак не получается читать побайтово с конца... не могу понять как правильно((
Добавлено через 18 минут
сейчас читаю вот так...
только как-то оно не правильно читает, повторяется постоянно...
в s добавляется например по итерациям:
1) а
2) аб
3) абс
4) абсд
....
результат: аабабсабсд, а должно быть : абсд
C++ |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
| std::ifstream fs;
fs.open (FILE_PATH,std::ios::in|std::ios::binary);
if (fs.fail()) {
//std::cerr << "Failed to open file!\n";
//return 1;
}
fs.seekg(0, std::ios::end);
size_t i = fs.tellg();
char* buf = new char[i];
fs.seekg(0, std::ios::beg);
fs.read (buf, i);
fs.close();
std::string s;
s.assign (buf, i);
//////////////////////////////////////////////////////////////////////////
std::stringstream scmp;
//std::string sss="";
s.clear();
for (unsigned int nLbuf=i; nLbuf>=1; nLbuf--)
{
//std::cout << buf[nLbuf];
//scmp << &buf[nLbuf];
s.append((char*)&buf[nLbuf]);
} |
|