Programa C++ para agregar contenido de un archivo de texto a otro

Archivos de texto de origen y destino dados. Agregue el contenido del archivo de origen al archivo de destino y luego muestre el contenido del archivo de destino.
Ejemplo :

Input : file.txt : "geeks", file2.txt : "geeks for"
Output: file2.txt : "geeks for geeks"

Método 1:
Enfoque:

  1. archivo.txt archivo2.txt

CPP

// C++ implementation to append
// content from source file to
// destination file
#include <bits/stdc++.h>
using namespace std;
 
// driver code
int main()
{
    fstream file;
 
    // Input stream class to
    // operate on files.
    ifstream ifile("file.txt", ios::in);
 
    // Output stream class to
    // operate on files.
    ofstream ofile("file2.txt", ios::out | ios::app);
 
    // check if file exists
    if (!ifile.is_open()) {
 
        // file not found (i.e, not opened).
        // Print an error message.
        cout << "file not found";
    }
    else {
        // then add more lines to
        // the file if need be
        ofile << ifile.rdbuf();
    }
    string word;
 
    // opening file
    file.open("file2.txt");
 
    // extracting words form the file
    while (file >> word) {
 
        // displaying content of
        // destination file
        cout << word << " ";
    }
 
    return 0;
}
Producción

file not found

Método 2: podemos hacer lo mismo usando las diferentes funciones que se mencionan a continuación:

  • fopen() : Devuelve un puntero al objeto que controla el flujo de archivo abierto
  • fprintf() : escribe la string apuntada por formato a la secuencia
  • fclose(): Cierra el archivo asociado con la secuencia y lo desasocia.
  • fgetc() : Devuelve el carácter apuntado actualmente por el indicador de posición de archivo interno de la secuencia especificada

Acercarse:

  1. Abra el archivo de origen en modo de lectura y el archivo de destino en modo de adición usando fopen()
  2. comprobar si existen
  3. Itere cada carácter del archivo de origen usando fgetc() e imprímalo en el archivo de destino usando fprintf() con while loop
  4. Cierra ambos archivos usando fclose()
  5. Abrir archivo de destino en modo lectura
  6. Imprímelo
  7. cierralo

A continuación se muestra la implementación del enfoque anterior:

C++

// C++ program to Append and Read text of text files
#include <bits/stdc++.h>
 
using namespace std;
int main()
{
    // open file in read mode to read it's content
    FILE* file = fopen("file.txt", "r");
   
    // open file in append mode to append readed content
    FILE* file2 = fopen("file2.txt", "a");
    if (file2 == NULL) {
        cout << "file not found";
        return 1;
    }
    else if (file == NULL) {
        cout << "file not found";
        return 1;
    }
   
    // Read contents from file
    char ch = fgetc(file);
    while (ch != EOF) {
       
        // print readed content from file in file2
        fprintf(file2, "%c", ch);
        ch = fgetc(file);
    }
    fclose(file);
    fclose(file2);
   
    // open file 2 again in read mode to read the content
    FILE* file3 = fopen("file2.txt", "r");
   
    // Read contents from file
    char ch2 = fgetc(file3);
    while (ch2 != EOF) {
       
        // print readed content from file
        printf("%c", ch2);
        ch2 = fgetc(file3);
    }
    fclose(file3);
}
 
// This code is contributed by Shivesh Kumar Dwivedi
Producción

file not found

Publicación traducida automáticamente

Artículo escrito por nickhilrawat y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *