Но использование strncat
для 1-символьной копии излишне и не очень разумно.
в вашем случае я бы сделал что-то еще подобное
char name[]="tolgahan";
char result[100]= "";
size_t l = 0;
result[l++] = name[1];
Отслеживая длину моей первой строки, я могу избежать скрытых вызовов strlen
(это то, что strncat
делает внутри).
result[l++] = 'H';
result[l++] = 'e';
result[l++] = 'l';
result[l++] = 'l';
result[l++] = 'o';
result[l++] = 0;
У меня все еще есть реальная длина моей строки в l
, и я избежал вызова, и компилятор может даже изменить внутреннюю структуру, чтобы использовать меньше операций с памятью.