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:
- 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:
- Abra el archivo de origen en modo de lectura y el archivo de destino en modo de adición usando fopen()
- comprobar si existen
- Itere cada carácter del archivo de origen usando fgetc() e imprímalo en el archivo de destino usando fprintf() con while loop
- Cierra ambos archivos usando fclose()
- Abrir archivo de destino en modo lectura
- Imprímelo
- 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