Сохранение файлов на С - PullRequest
0 голосов
/ 05 мая 2011

Я хочу сохранить файлы на компьютере. Я могу использовать команды fwrite.

Но я должен перечислять файлы, такие как file01, file02, .. внутри цикла for, сохраняя их при помощи команд fwrite.

Поэтому я должен сохранить, например, десять файлов (file01, fle02, file03 ...., file10 ...)

Не могли бы вы посоветовать мне простой пример кода?

Ответы [ 2 ]

3 голосов
/ 05 мая 2011

Внутри цикла вам нужно

  1. построить имя файла
  2. открыть файл
  3. записать данные
  4. закрыть файл

Пример C99 (snprintf() является «новым»), многие детали не указаны

for (j = 0; j < 10; j++) {
    snprintf(buf, sizeof buf, "file%02d.txt", j + 1);     /* 1. */
    handle = fopen(buf, "w");                             /* 2. */
    if (!handle) /* error */ exit(EXIT_FAILURE);          /* 2. */
    w = fwrite(data, 1, bytes, handle);                   /* 3. */
    if (w != bytes) /* check reason */;                   /* 3. */
    fclose(handle);                                       /* 4. */
}
2 голосов
/ 05 мая 2011

Вам нужно открыть файлы один за другим с помощью fopen, примерно так:

char filename[128]; // (128-1) characters is the max filename length
FILE *file;

int i;
for (i = 0; i < 10; ++i) {
    snprintf(filename, 128, "file%02d", i);
    file = fopen(filename);

    // do stuff with file

    fclose(file);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...