Как создать пользовательские имена файлов в C? - PullRequest
4 голосов
/ 15 марта 2010

Пожалуйста, посмотрите этот кусок кода:

#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
    }
}

Ответы [ 5 ]

11 голосов
/ 15 марта 2010
for(i = 0; i < 100; i++) {
    char filename[sizeof "file100.txt"];

    sprintf(filename, "file%03d.txt", i);
    fp = fopen(filename,"w");
}
1 голос
/ 15 марта 2010
char szFileName[255] = {0};
for(i = 0; i < 100; i++)
{
    sprintf(szFileName, "File%d.txt", i);
    fp = fopen(szFileName,"w");
}
1 голос
/ 15 марта 2010

Загляните в snprintf.

1 голос
/ 15 марта 2010

Используйте snprintf() с "file%d.txt" and i` для генерации имени файла.

0 голосов
/ 15 марта 2010

Это должно работать:

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