Перечитал Денниса Ритчи и Брайана Кернигана и нашёл там пример. Так как эта функция у меня будет работать с номером строки, который не может быть отрийательным по определению- немного переработал. Вот, что у меня получилось:
void itoa(unsigned int n, char s[])
{
int i;
i = 0;
do { /* генерируем цифры в обратном порядке */
s[i++] = n % 10 + '0'; /* берем следующую цифру */
} while ((n /= 10) > 0); /* удаляем */
s[i] = '\0';
reverse(s);
}
#include <string.h>
/* reverse: переворачиваем строку s на месте */
void reverse(char s[])
{
int i, j;
char c;
for (i = 0, j = strlen(s)-1; i<j; i++, j--) {
c = s[i];
s[i] = s[j];
s[j] = c;
}
}
The strcat() function appends the src string to the dest string, overwriting the null byte ('\0') at the end of dest, and then adds a terminating null byte. The strings may not overlap, and the dest string
must have enough space for the result.
Давай посчитаем. Тебе нужно записать до 13 = 11 + 2 символов в первом случае в буфер b[11] и до 14 = 13 + 1 в буфер «\n» - в каком из них хватает места?
но не компилится
смотри что он пишет, люди не просто так же старались когда писали gcc