Difference between revisions of "Libchecker:xstrdup"

From EjudgeWiki
(New page: Навигация: Система ejudge/Проверяющие программы/libchecker/Функции/[[Libchecker:Работа с пам...)
 
 
Line 1: Line 1:
Навигация: [[Система ejudge]]/[[Проверяющие программы]]/[[libchecker]]/[[Libchecker:Функции|Функции]]/[[Libchecker:Работа с памятью|Работа с памятью]]/[[Libchecker:xstrdup|xstrdup]]
+
Навигация: [[Main Page|Главная страница]]/[[Система ejudge]]/[[Проверяющие программы]]/[[libchecker]]/[[Libchecker:Функции|Функции]]/[[Libchecker:Работа с памятью|Работа с памятью]]/[[Libchecker:xstrdup|xstrdup]]
  
 
Функция является надстройкой над стандартной функцией strdup.
 
Функция является надстройкой над стандартной функцией strdup.

Latest revision as of 13:56, 22 August 2008

Навигация: Главная страница/Система ejudge/Проверяющие программы/libchecker/Функции/Работа с памятью/xstrdup

Функция является надстройкой над стандартной функцией strdup.

char *xstrdup(const char *str);

Строка str копируется в область памяти, выделенную на куче с помощью функции malloc. Функция возвращает указатель на начало копии строки. Если область памяти указанного размера выделить не удается, проверяющая программа немедленно завершается со внутренней ошибкой проверки. Таким образом, проверяющая программа может быть уверена, что возвращаемый функцией xstrdup указатель никогда не равен NULL. Выделенная память может быть освобождена с помощью вызова функции free стандартной библиотеки.