Si tengo un archivo binario grande (digamos que tiene 100,000,000 flotantes), ¿hay alguna manera en C (o C++) para abrir el archivo y leer un flotación específica, sin tener que cargar todo el archivo en la memoria (es decir, ¿cómo puedo encontrar rápidamente lo que es el flotador 62,821,214º)? Una segunda pregunta, ¿hay alguna manera de cambiar esa flotación específica en el archivo sin tener que reescribir todo el archivo?Leyendo y escribiendo en el medio de un archivo binario en C/C++
estoy imaginando funciones como:
float readFloatFromFile(const char* fileName, int idx) {
FILE* f = fopen(fileName,"rb");
// What goes here?
}
void writeFloatToFile(const char* fileName, int idx, float f) {
// How do I open the file? fopen can only append or start a new file, right?
// What goes here?
}
Para escribir, asegúrese de abrir en modo "r +" y no "a +". En modo de adición, independientemente de dónde busque, las escrituras siempre van al final del archivo. –