Вы можете использовать ответ Тони Делроя и включить небольшую функцию для определения размера файла, а затем создать массив char
такого размера, например:
//Code from Andro in the following question: https://stackoverflow.com/questions/5840148/how-can-i-get-a-files-size-in-c
int getFileSize(std::string filename) { // path to file
FILE *p_file = NULL;
p_file = fopen(filename.c_str(),"rb");
fseek(p_file,0,SEEK_END);
int size = ftell(p_file);
fclose(p_file);
return size;
}
Затем вы можете сделатьэто:
//Edited Code From Tony Delroy's Answer
char getdata[getFileSize("file.txt")];
infile.read(getdata, sizeof getdata);
if (infile.eof()) {
// got the whole file...
size_t bytes_really_read = infile.gcount();
}
else if (infile.fail()) {
// some other error...
}