Как правильно выполнить преобразование параметра int в *char? - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Суть в чем - в функцию передается указатель на файл, его имя и номер ревизии. Номер ревизии нужно добавить к имени файла через "_" для создания нового файла. Делал через strcncat, но ему требуется указатель на char. Никак не могу преобразовать нормально. Код:
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);    //понятное дело, ошибка
     //..
}.
P.S. С - не родной язык, взялся просто помочь человеку) так что не судите строго)

Решение задачи: «Как правильно выполнить преобразование параметра int в *char?»

textual
Листинг программы
sprintf(dst, "%s_%d", src, revision);

Объяснение кода листинга программы

В данном коде используется функция sprintf(), которая выполняет форматирование и запись строки в переменную dst. Список элементов кода:

  1. dst - переменная, в которую будет записан результат.
  2. %s_%d - шаблон строки, который определяет формат вывода.
  3. src - исходная строка, которая будет использована в форматировании.
  4. revision - переменная типа int, которая будет преобразована в строку. Таким образом, код выполняет конкатенацию строк src и _%d, где %d является заполнителем для числа, а затем записывает результат в переменную dst. Значение переменной revision преобразуется в строку и добавляется в конец результирующей строки.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 4.25 из 5
Похожие ответы