Каков правильный и безопасный способ memset всего массива символов с нулевым завершающим символом? Я могу указать несколько способов использования:
...
char* buffer = new char [ARRAY_LENGTH];
//Option 1: memset( buffer, '\0', sizeof(buffer) );
//Option 2 before edit: memset( buffer, '\0', sizeof(char*) * ARRAY_LENGTH );
//Option 2 after edit: memset( buffer, '\0', sizeof(char) * ARRAY_LENGTH );
//Option 3: memset( buffer, '\0', ARRAY_LENGTH );
...
- Есть ли у любого из них существенное преимущество перед другими (-ами)?
- С какими проблемами я могу столкнуться с обычаями 1, 2 или 3?
- Каков наилучший способ обработки этого запроса?