Я хочу, чтобы иметь возможность читать в файле с именем doc.txt произвольной длины и не получить seg-ошибку, я знаю, что мне приходится выделять кучу, но у меня возникают проблемы с этим. я хочу притворяться, как будто у меня нет способа узнать размер файла или получить размер файла, просто прочитайте, как много там есть и выложите кучу, я хочу, чтобы единственным ограничением был размер физической машины памяти.выделите кучу
#include <iostream>
#include <string>
#include <fstream>
using namespace std ;
int main() {
char *file_name = "doc.txt" ;
ifstream fin ;
fin.open(file_name) ;
if(! fin) {
cout << "Problems opening " << file_name << endl ;
return -1 ;
}
const unsigned MAX = 100 ;
string doc[MAX] ;
unsigned word_count = 0 ;
//while(fin >> doc[ word_count++ ]) ;
while(fin >> doc[ word_count ]) {
cout << doc[ word_count ] << endl ;
word_count ++ ;
}
fin.close() ;
return 0 ;
}
Должно быть ** const ** 'char * file_name =" doc.txt ";'. – iammilind
Как насчет использования std :: vector? –
Почему вы хотите притвориться, что вы не можете найти размер файла? 'malloc' хотел бы, чтобы вы узнали. – Dave