- 1
- 2
- 3
- 4
if (strlen(tmpStr) > 250)
strncpy(fields[i].info.fieldName, tmpStr, 250);
else
strcpy(fields[i].info.fieldName, tmpStr);
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+49.2
if (strlen(tmpStr) > 250)
strncpy(fields[i].info.fieldName, tmpStr, 250);
else
strcpy(fields[i].info.fieldName, tmpStr);
А пох - все равно скопируем. =)
Функция strncpy работает подобным образом, но копируются только первые n байт строки src. Таким образом, если нулевой байт отсутствует в первых n байтах src, то результирующая строка не будет завершена символом `\0'.
strncpy(fields[i].info.fieldName, tmpStr, 250); - этого вполне достаточно.