Escribir resultados en múltiples archivos de texto en C++
Tengo el siguiente código:
#include <fstream>
#include <iostream>
using namespace std;
int main() {
ofstream os;
char fileName[] = "0.txt";
for(int i = '1'; i <= '5'; i++)
{
fileName[0] = i;
os.open(fileName);
os << "Hello" << "\n";
os.close();
}
return 0;
}
El objetivo es escribir la salida de mi código en múltiples archivos .txt hasta, digamos, 64 veces. Cuando cambio este bucle para que se ejecute más de 10 veces, es decir,
for(int i = '1'; i <= '10'; i++)
Obtengo el siguiente error:
warning: character constant too long for its type
¿Alguna idea de cómo escribir en más de 10 archivos? Además, ¿cómo escribo un número después de cada “Hello”, por ejemplo, “Hello1 … Hello10”?
Saludos.
davy.ai
Para escribir en más de 10 archivos, es necesario cambiar el tipo de dato de la variable de bucle de un carácter a un entero. Esto permitirá recorrer más de 10 archivos.
Aquí hay un código de ejemplo para recorrer 64 archivos y agregar un número después de cada “Hola”:
“`c++
#include
#include
#include
using namespace std;
int main() {
ofstream os;
string fileName;
for(int i = 1; i <= 64; i++) {
fileName = “archivo” + to_string(i) + “.txt”;
os.open(fileName);
os << “Hola” << i << “\n”;
os.close();
}
return 0;
}
“`
En este código, declaramos
i
como un entero y recorremos64
archivos. Concatenamos el nombre del archivo con la variable de buclei
utilizandoto_string ()
para convertir el entero en una cadena. Luego abrimos el archivo, escribimos “Hola” seguido de la variable de buclei
y una nueva línea. Finalmente, cerramos el archivo.