Cómo copiar archivos en c ++

Ah, la copia de un archivo - algo tan simple, se pasa todo el tiempo. Copie este archivo Por lo copie ese archivo aquí. Pero lo que ocurre exactamente su lugar cuando se copia un archivo? En realidad se crea un nuevo presentar, y lo rellenamos con el mismo contenido que el archivo original. ¿Y cómo haces eso?

Bueno, parece que usted tiene que leer cada byte del primer archivo, y lo escribe a la segunda. Puaj en grande.

Pero para empeorar las cosas, la copia de un archivo significa que usted tiene que asegurarse de que copia exactamente la misma, que no virar accidentalmente un extra 0 o dos al final del archivo, o un retorno de carro o salto de línea adicional en al final del archivo (lo que podría suceder cuando se copia un archivo de texto).

Cuando todo lo que se hace, los dos archivos deben ser idénticos - no sólo contiene la misma información, sino también ser el mismo tamaño.

Y encima de todo eso, la mayoría de las buenas rutinas de copia hacen aún más! Ellos dan el nuevo archivo de una fecha que coincide con la fecha del archivo original, y van a establecer todos los atributos - incluyendo, por ejemplo, de sólo lectura si el original es un archivo de sólo lectura. (Si el archivo es de sólo lectura, entonces tal vez debería no ser capaz de copiarlo en el primer lugar.. ..)

De repente, la copia de un archivo no suena tan fácil después de todo!

Si está programando en Windows, estás de suerte! Siempre y cuando usted no está utilizando el antiguo Windows 3.1, se obtiene una Copiar archivo la función! Para prepararse para usarlo, se incluye la línea #include en su aplicación. Entonces aquí está todo lo que tiene que hacer:

CopyFile ("c: /dog.txt", "c: /dog2.txt", TRUE) -

Esto copia de c: /dog.txt a c: /dog2.txt. Pero observe el parámetro final: Es la palabra CIERTO en todas las capitales. ¿Que es eso? Eso es una macro preprocesador definida en algún lugar de las entrañas de los archivos de cabecera de Windows.

Tienes que utilizar cualquiera CIERTO o FALSO al llamar a cualquiera de las funciones de Windows. Eso es debido a que en los viejos tiempos de C, cuando se inventaron las primeras versiones de Windows, sin bool existía tipo. Aquellas personas con recursos de finales del siglo 20 tuvieron que definir su propio CIERTO y FALSO como enteros (por lo general o bien 1 y 0, respectivamente, o 0 y 1, respectivamente).

Y, por cierto, que el parámetro final en Copiar archivo indica a la función qué hacer si el archivo que está copiando a ya existe: CIERTO medios no sobrescriben el Archivo- existente simplemente abortar. FALSO significa sobrescribirlo.




» » » » Cómo copiar archivos en c ++