безопасное копирование строки на си

Задался вопросом как безопасно копировать строку на си. Есть у меня строка str1 мне нужно ее скопировать в строку str2 но возможна ситуация когда в str1 не будет нуля в конце сроки, тогда возможна ситуация когда по указателю будет произведена операция перезаписи данных в области выходящей за приделы str2. Есть решение этой проблемы ?


Ответы (1 шт):

Автор решения: Генс
char b[10],a[]="Мама мыла раму";
int x,i;
for (x=0,i=0;x!=sizeof(b)-1;x++,i++)//Если а<b использовать sizeof(а)-1
b[x]=a[i];
b[x++]='\0';
printf("\"%s\" длина-%d размер-%d",b,strlen(b),sizeof(b));

//Вывод: "Мама мыла" длина-9 размер-10
→ Ссылка