Как правильно выполнить преобразование параметра int в *char? - C (СИ)
Формулировка задачи:
Суть в чем - в функцию передается указатель на файл, его имя и номер ревизии. Номер ревизии нужно добавить к имени файла через "_" для создания нового файла. Делал через strcncat, но ему требуется указатель на char. Никак не могу преобразовать нормально. Код:
P.S. С - не родной язык, взялся просто помочь человеку) так что не судите строго)
void make_a_copy(FILE **f, char *name, int revision)
{
char *new_name = (char*)malloc(MAX_LENGTH);
strcpy(new_name,name);
strncat(new_name,"_",1);
*ch = (char)revision; //жалкие попытки преобразования
strncat(new_name,ch,1); //понятное дело, ошибка
//..
}.Решение задачи: «Как правильно выполнить преобразование параметра int в *char?»
textual
Листинг программы
sprintf(dst, "%s_%d", src, revision);
Объяснение кода листинга программы
В данном коде используется функция sprintf(), которая выполняет форматирование и запись строки в переменную dst. Список элементов кода:
dst- переменная, в которую будет записан результат.%s_%d- шаблон строки, который определяет формат вывода.src- исходная строка, которая будет использована в форматировании.revision- переменная типа int, которая будет преобразована в строку. Таким образом, код выполняет конкатенацию строкsrcи_%d, где%dявляется заполнителем для числа, а затем записывает результат в переменнуюdst. Значение переменнойrevisionпреобразуется в строку и добавляется в конец результирующей строки.