txt texto que programa por manejo linea libreria leer lea ejemplos dev crear con binarios archivos archivo c++ arrays char ifstream

que - Lea el archivo de texto en Array char. C++ ifstream



manejo de archivos en c++ fstream (4)

Estoy tratando de leer todo el archivo.txt en una matriz de caracteres. Pero teniendo algunos problemas, sugerencias por favor =]

ifstream infile; infile.open("file.txt"); char getdata[10000] while (!infile.eof()){ infile.getline(getdata,sizeof(infile)); // if i cout here it looks fine //cout << getdata << endl; } //but this outputs the last half of the file + trash for (int i=0; i<10000; i++){ cout << getdata[i] }


Cada vez que lee una nueva línea sobrescribe la anterior. Mantenga una variable de índice iy use infile.read(getdata+i,1) luego incremente i.


No necesita leer línea por línea si planea aspirar todo el archivo en un búfer.

char getdata[10000]; 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... } else { // getdata must be full, but the file is larger... }


std::ifstream infile; infile.open("Textfile.txt", std::ios::binary); infile.seekg(0, std::ios::end); size_t file_size_in_byte = infile.tellg(); std::vector<char> data; // used to store text data data.resize(file_size_in_byte); infile.seekg(0, std::ios::beg); infile.read(&data[0], file_size_in_byte);


Use std::string :

std::string contents; contents.assign(std::istreambuf_iterator<char>(infile), std::istreambuf_iterator<char>());