Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > Нечитает файл


Автор: Developer 31.7.2006, 13:50
Вот она:

Код
#include <iostream>
#include <string>
#include <fstream>
using namespace std;

string fileToStr(char* arg) {
    string res;
    ifstream ifstr(arg);
    if (ifstr.fail()) {
        cerr<<"Error opening input file filename"<<arg<<endl;
        return 0;
    }
    char buf[1024];
    int x=1;
    while (ifstr.good() && x) {
        x=ifstr.readsome(buf,sizeof(buf));
        cout << "#17:\t" << buf << '\t' << x << '\t' << arg << endl ;
        res+=string(buf,x);
    }
    ifstr.close();
    return res;
}



на 17-ой строке выдаёт x равный нулю, хотя размеры файлов 8 и 10 байт.


компилятор - Borland C++ 5.5



как исправить smile  

Автор: Sunr1se 31.7.2006, 14:52
Попробуй заменить
Код

x=ifstr.readsome(buf,sizeof(buf));

на такое:
Код

ifstr.read(buf, sizeof(buf));
x = ifstr.gcount();
 

Автор: Developer 31.7.2006, 15:08
помогло, благодарю 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)