Я новичок в C, я потратил много времени на решение своей проблемы и не могу найти решение.
Я хочу обновить имя файла filename_2 (char ) с использованием имени файла_1 в качестве префикса для l oop в C.
Я не хочу изменять имя файла_1, потому что оно используется другими функциями.
Здесь это мой код и то, что я ищу сразу после этого.
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main()
{
int j;
char filename_1[40]="test";
char nummbr[40];
char *filename_2 = NULL;
filename_2 = filename_1;
for( j = 0; j<12; j++)
{
sprintf(nummbr, "%d", j); // transform int into char --> for concatenation
if (j < 21){
strcat(filename_2, "_00");
strcat(filename_2, nummbr);
}else{
strcat(filename_2, "_0");
strcat(filename_2, nummbr);
}
/* do things with the file */
printf("member: %i %s\n",j, filename_2);
}
return 0;
}
У меня следующий результат:
member: 0 test_pr_fc_000
member: 1 test_pr_fc_000_001
...
member: 10 test_pr_fc_000_001_002_003 ..._010
..
Я хочу:
member: 0 test_000
member: 1 test_001
...
member: 20 test_020