Prerrequisito: Manejo de Archivos en C
Dados los archivos de texto de origen y de destino, la tarea es agregar el contenido del archivo de origen al archivo de destino y luego mostrar el contenido del archivo de destino.
Ejemplos:
Input: file1.text This is line one in file1 Hello World. file2.text This is line one in file2 Programming is fun. Output: This is line one in file2 Programming is fun. This is line one in file1 Hello World.
Acercarse:
- Abra file1.txt y file2.txt con la opción «a+» (añadir y leer), para que no se elimine el contenido anterior del archivo. Si los archivos no existen, se crearán.
- Escriba explícitamente una nueva línea («\n») en el archivo de destino para mejorar la legibilidad.
- Escribir contenido desde el archivo de origen al archivo de destino.
- Muestre el contenido en file2.txt a la consola (stdout).
C
// C program to append the contents of // source file to the destination file // including header files #include <stdio.h> // Function that appends the contents void appendFiles(char source[], char destination[]) { // declaring file pointers FILE *fp1, *fp2; // opening files fp1 = fopen(source, "a+"); fp2 = fopen(destination, "a+"); // If file is not found then return. if (!fp1 && !fp2) { printf("Unable to open/" "detect file(s)\n"); return; } char buf[100]; // explicitly writing "\n" // to the destination file // so to enhance readability. fprintf(fp2, "\n"); // writing the contents of // source file to destination file. while (!feof(fp1)) { fgets(buf, sizeof(buf), fp1); fprintf(fp2, "%s", buf); } rewind(fp2); // printing contents of // destination file to stdout. while (!feof(fp2)) { fgets(buf, sizeof(buf), fp2); printf("%s", buf); } } // Driver Code int main() { char source[] = "file1.txt", destination[] = "file2.txt"; // calling Function with file names. appendFiles(source, destination); return 0; }
Producción:
A continuación se muestra la salida del programa anterior:
Complejidad de Tiempo: O(N)
Complejidad de Espacio Auxiliar: O(1)
Publicación traducida automáticamente
Artículo escrito por yashbeersingh42 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA