Мой код получает строку символов. Например, «aaabbdddd» Функция вставляет в новую строку буквы и количество раз, когда они появляются. Таким образом, вывод для этой конкретной строки должен быть «a3b2d4». Мой вопрос: как вставить числа в строку? Я попытался использовать itoa и преобразовал всю строку в один номер. Вот мой код:В C, как вставить целое число в строку?
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define LONG 80
#define SHORT 20
void longtext(char longtxt[LONG], char shorttxt[SHORT])
{
int i, j=0, count=0, tmp;
char letter;
for (i = 0; i <= strlen(longtxt); ++i)
{
if (i == 0)
{
letter = longtxt[i];
++count;
}
else if (letter == longtxt[i])
++count;
else
{
shorttxt[j] = letter;
shorttxt[j + 1] = count;
j += 2;
count = 1;
letter = longtxt[i];
}
}
}
int main()
{
char longtxt[LONG] = "aaabbdddd",shorttxt[SHORT];
longtext(longtxt,shorttxt);
printf("%s", shorttxt);
}
Я считаю, что проблема заключается в строке "shorttxt [J + 1] = кол;" потому что thats, где я хочу поместить int в строку.
Пожалуйста, удалите тег 'C++'. – Kotshi
Вы попробовали мой ответ ниже? – GNKeshava