Пожалуйста помогите. Я не могу прочитать бинарный файл. Длина файла 198944, но мой код читает 374. Я пытался использовать fread, ifstream, WinAPI ReadFile. Это функция, которая читает файл:
std::string ReadThisFile(std::string aPath) {
FILE *inputstream = fopen(aPath.c_str(),"rb");
long size;
size_t result;
fseek(inputstream,0,SEEK_END);
size = ftell(inputstream);
rewind(inputstream);
char *buff = new char [size];
result = fread (buff,1,size,inputstream);
std::string ret=buff;
fclose(inputstream);
delete[]buff;
return ret;
}
Нужна любая помощь, спасибо!
strlen
для получения окончательного размера? Вы не можете хранить двоичный контент в строке. - person Mahmoud Al-Qudsi   schedule 15.02.2013std::string
? Если нет, используйте другой контейнер. (например,std::vector<unsigned char>
или что-то подобное). - person WhozCraig   schedule 15.02.2013fseek(binary_stream, offset, SEEK_END)
не гарантируется (согласно стандарту C 1999 года). - person Alexey Frunze   schedule 15.02.2013