Как можно себя обезопасить от строк у которых нет конца '\0' при использование функции snprintf()

Бывает так что попадаются строки не имеющие символа конца и функция snprintf() вызывает критическую ошибку. Как можно проверять, что строки корректные и можно вызывать функцию snprintf ?

Мой код:

    typedef struct {
    const char name[20];         // имя
    const char textExtension[4]; // расширение
    const uint32_t size;         // размер в байтах
    const uniondate date;        // дата
    const uiniontime time;       // время
    const uint32_t numberSector; // номер сектора
    const uint32_t crc;          // контрольная сумма
    const uint32_t reserve[5];   // резерв
} const headerFileList;
extern const headerFileList *HeaderFileList[256]; 

   char text[32];
   memset(text,0,sizeof(text));

'snprintf(text, sizeof(text),"%s%c%s", HeaderFileList[i]->name, '.', HeaderFileList[i]->textExtension);

если 'HeaderFileList[i]->name' и 'HeaderFileList[i]->textExtension' массив заполнен 'ff' то snprintf не работает.


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