1.2.3 Strdup( ) функциясы
Бізге білген жөн, тағы бір жолдарды көшіру функциясы бар. Оның аты- strdup( ). Берілгендері бойынша strcpy( ) функциясына ұқсас, бірақ буфер үшін жадының реттелуін орындайды. Нақты алғанда, ол тура соны жасайды.Біз оны өз күшімізбен 2-ші листингте ma11oc( ) –ты шақыра отырып, жадыны реттеуге мәжбүр болдық, содан кейін strcpy( ) жолды көшіру үшін. Білген жөн, Strdup( ) функциясы ANSI стандартында анықталмаған. Ол компиляторлардың кітапханасына кіреді. Мысалы, Microsoft Borland және Symаntec C,бірақ басқа да компиляторлар оны жүзеге асыра алады. Strdup( ) келесідей типке ие: Char*strdup(char*source);
Source аргументі жолдарды көшіруші сілтеуішті көрсетеді. Функция жолға сілтеуішті қайтарады, онда орындалған буферге көшіру ma11oc() немесе NULL көмегімен құру, оның ішінде жадының реттелуі сәтті болмаған жағдайда ғана. Strdup() функциясының қолданылуы source 4-ші листингте көрсетілген.
Достарыңызбен бөлісу: |