es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

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.

Tags:  , , ,

Answer

  1. Avatar for 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 recorremos 64 archivos. Concatenamos el nombre del archivo con la variable de bucle i utilizando to_string () para convertir el entero en una cadena. Luego abrimos el archivo, escribimos “Hola” seguido de la variable de bucle i y una nueva línea. Finalmente, cerramos el archivo.

Comments are closed.