Quiero plantear una pregunta aparentemente simple que no puedo encontrar la respuesta en ninguna parte. ¿Existe un FAST algoritmo moderno para la entrada y/o salida de archivos que se puede compilar con todos los compiladores estándar compatibles con C++ y funciona para todos los sistemas operativos sin la necesidad de bibliotecas externas?Algoritmo rápido de plataforma cruzada para leer/escribir archivo en C++
- he encontrado que la manera más rápida es utilizar archivos de memoria asignada, pero eso no lo haré porque nosotros queremos la misma pieza de código que funciona en todas las plataformas
- no podemos utilizar las API de Win32 API como causa que hará que la plataforma es específica
- no quiero utilizar c, quiero que el algoritmo sea sólo puro código C++ con STL, si es posible, no un feo C con asm entremezclada truco/truco
- marcos o externo las bibliotecas que no pertenecen a standart C++ no deben usarse como wxWidgets, Qt, MFC, etc.
- The big empasis de toda esta cuestión es que el algoritmo es el RÁPIDO como sea posible, algo a lo largo de las líneas de la velocidad de hacerlo con los archivos de memoria asignada, incluso más rápido sería grande, pero sé que no es posible
¿Alguna vez has visto algo tan loco investigado por alguien más excepto yo? ¿Es posible tal algoritmo?
Gracias por las recomendaciones
De acuerdo. La única E/S de archivo estándar de C++ es la de la biblioteca estándar, es decir. archivo de encabezado '' o ''. Si desea una E/S de archivo rápida, lo más importante sería ** no ** leer/escribir archivos de un byte a la vez, sino leer/escribir fragmentos grandes de una sola vez. –
stakx
¿se puede leer todo el archivo de una sola vez con iostream? ¿Ofrecería eso una ventaja de rendimiento, que no creo? no es un encabezado cstdio a c? – user258883
Leer todo el archivo a la vez es aún más lento que asignarlo a la memoria. –