Por favor ver este trozo de código:

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

int main() {
    int i = 0;
    FILE *fp;
    for(i = 0; i < 100; i++) {
        fp = fopen("/*what should go here??*/","w");
        //I need to create files with names: file0.txt, file1.txt, file2.txt etc
        //i.e. file{i}.txt
    }
}

OriginalEl autor Lazer | 2010-03-15

5 Comentarios

  1. 11
    for(i = 0; i < 100; i++) {
        char filename[sizeof "file100.txt"];
    
        sprintf(filename, "file%03d.txt", i);
        fp = fopen(filename,"w");
    }
    observe cómo poner %03d. estrictamente hablando, sólo se necesita %d a hacer lo que me pediste, pero esto pad de 3 dígitos con ceros a la 0s, de modo que se ordenan correctamente por el sistema operativo (bueno… de windows es una especie de inteligentes acerca de que en realidad, pero aún así, líder 0s son cool!)

    OriginalEl autor caf

  2. 1
    char szFileName[255] = {0};
    for(i = 0; i < 100; i++)
    {
        sprintf(szFileName, "File%d.txt", i);
        fp = fopen(szFileName,"w");
    }
    uhm… me cree usted olvidó editar una línea cuando usted copia pega 😉
    gracias por los comentarios, y su agradable para ser rápido en down votos…tal vez intente volver a cargar respuesta rápido la próxima vez
    255 es un buffer de gran tamaño. Al menos, la solución va a hacer bien para valores muy altos de i.

    OriginalEl autor YeenFei

  3. 0

    Esto debería funcionar:

    for(i = 0; i < 100; i++) {
        char name[12];
        sprintf(name, "file%d.txt", i);
        fp = fopen(name, "w");
    }

    OriginalEl autor Kyle Lutz

Dejar respuesta

Please enter your comment!
Please enter your name here