Una ayudita por favor

Iniciado por marcico, 17 Julio 2012, 18:24 PM

0 Miembros y 1 Visitante están viendo este tema.

marcico

hola!!! una consulta.. yo quiero hacer que el nombre "nuevo.bat" si vaya modificando por nuevo1.bat luego nuevo2.bat... y asi.. pero no se como hacer... primero deberia usar un do while ? digo para que luego de abrir el archivo y hacer lo que tenga uqe hacer vuelva al principio y abra otra archivo pero ahora con otro nombre...
o que funciones deberia de usar? muchas gracias


FILE *fichero;

fichero = fopen( "nuevo.bat", "w" );
aca hay otro codigo que tiene que guardarse


do-while

¡Buenas!

No se que es lo que quieres hacer exactamente (la explicacion no es que haya quedado demasiado clara), pero si lo que quieres es repartir el contenido de un fichero, tendras que utilizar dos ficheros, uno para leer y otro para escribir.

¡Saludos!
- Doctor, confundo los números y los colores.
- Vaya marrón.
- ¿Marrón? ¡Por el culo te la hinco!

marcico

hola mi duda es yo quiero qeu el nombre vaya cambiando.. osea yo quiero hacer algo como
int indicador=0;
FILE *fichero;

fichero = fopen( "nuevo%d.bat", "w",&indicador );
aca hay otro codigo que tiene que guardarse

indicador++;



pero se que eso no es posible porque me tira error, yo queiro que al salir vuelva al programa y vuelva a preguntar las cosas pero que guarde los datos en otro archivo... osea ya creo el "nuevo.bat" ahora quiero que cree el otro... osea "nuevo1.bat"  algo asi :D

DickGumshoe

#3
Hola!

Si lo que quieres es abrir un fichero varias veces pero con nombres distintos, tienes la función rename

Saludos!

marcico

mmm no me sale... va osea... modifica el nombre pero no es lo que necesito porque no solo va a hacerlo 1 vez.. yo necesito que genere varios archivos.... los cuales van a tener un nombre distinto por vuelta que de el bucle... do while... por eso digo de ponerle unc ontador para que por vuelta en el do while sume 1 y al sumar cambie el nombre del archivo  por otro... y ya el archivo anterior quedo creado con el nombre y este se va a llamar igual al anterior pero con el 1, u el sgte va a tener el 2.. y asi eso queiro hacer pero no me sale.... no se como probar para uqe ande.. no se mucho de programacion... osea tengo la idea de lo que queiro hacer pero no puedo plasmarla en el ejercicio!

BlackZeroX

#5
Modificalo para tu propósito es igual al que te puso @marcico con la diferencia que no es a un archivo si no a un buffer de cadena.



#include <stdio.h>
#include <string.h>

int main() {
    char newName[256];

    for (int i = -100; i <= 100; i++) {
        memset(newName, 0, 256);                  // limpiamos...
        sprintf(newName, "Archiv0_%d.txt", i); // construimos la cadena Archivo_-100.txt hasta Archivo_100.txt
        puts (newName);
// o como @marcizo
//        fichero = fopen( "Archivo_%d.bat", "w", &i );
// código...
    }

    getchar();
    return 0;
}



Dulces Lunas!¡.
The Dark Shadow is my passion.

-MenTaL

int current;
int max_files;
for(int i = 0; i <= max_files; i++){
char file_name[80];
sprintf(file_name,"archivo_%d.txt",i);
ifstream file(file_name);
if (!file.good()){
//Aqui la funcion si el archivo no existe.
}
}



Edit: no vi que respondieron, justo lo pusieron despues de dar editar :S

BlackZeroX


« Última modificación: Hoy a las 11:39:24 por BlackZeroX (Astaroth) »
The Dark Shadow is my passion.

marcico

muchisimas gracias por tomarse el tiempo para ayudarme.. ahora veo los codigo para aprenderlos.. millones e infinitas gracias... abrazo!

-MenTaL

#9
Cita de: BlackZeroX (Astaroth) en 17 Julio 2012, 19:57 PM
« Última modificación: Hoy a las 11:39:24 por BlackZeroX (Astaroth) »


e_e le di a "responder" y me fui a merendar .___.

PD: Off spam y es 19:39 no 11 :)