Два других способа: strcpy(str, "");
и string[0] = 0
Чтобы действительно удалить содержимое переменной (в случае, если у вас есть грязный код, который не работает должным образом с фрагментами выше: P), используйте цикл, как в примере ниже.
#include <string.h>
...
int i=0;
for(i=0;i<strlen(string);i++)
{
string[i] = 0;
}
Если вы хотите очистить динамически выделенный массив символов с самого начала, вы можете либо использовать комбинацию malloc() и memset(), либо - и это намного быстрее - calloc(), который делает то же самое, что и malloc, но инициализирует весь массив с Null.
Наконец, я хочу, чтобы вы помнили о времени выполнения. Более того, если вы работаете с огромными массивами (6 цифр и выше), вы должны попытаться установить первое значение в Null вместо запуска memset() для всей строки.
Сначала это может выглядеть грязнее, но это намного быстрее. Вам просто нужно уделять больше внимания своему коду;)
Я надеюсь, что это было полезно для всех ;)
person
Aiyion.Prime
schedule
03.04.2014