Cómo recuperar bytes de archivos en una matriz de caracteres en C
Para leer bytes de archivos en una matriz de caracteres sin usar getline(), considere usando ifstream::read(). Siga estos pasos:
Abra el archivo:
std::ifstream infile("C:\\MyFile.csv");
Obtener longitud del archivo:
infile.seekg(0, std::ios::end);
size_t length = infile.tellg();
infile.seekg(0, std::ios::beg);
Asegurar el tamaño del búfer:
if (length > sizeof (buffer)) {
length = sizeof (buffer);
}
Leer el archivo:
infile.read(buffer, length);
Notas adicionales:
Enfoque actualizado (2019):
Para tener en cuenta posibles errores durante la lectura, considere el siguiente enfoque:
size_t chars_read;
if (!(infile.read(buffer, sizeof(buffer)))) {
if (!infile.eof()) {
// Handle error during reading
}
}
chars_read = infile.gcount(); // Get actual number of bytes read
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3