1.3.2 Strncat( ) функциясы Strncat( ) кітапханалық функциясы сонымен қатар, жолдардың конкатенациясын орындайды, бірақ шығушы жолдан белгіленген жолдың соңына тура қанша символ қосу керек екендігін сілтеу керек. Ол төмендегідей прототипке ие:
Char *strncat(char*str1, const char*str2,size_ t n);
Егер str2 n –нен астам символға ие болса, онда str1-ге тек алғашқы n символы қосылады. Әр осындай жағдайда жолға нөлдік аяқтаушы символ автоматты түрде қосылып отырады. Міндетті түрде str1-ге жеткілікті жадының үлестірілуін қамтамасыз еткен жөн, себебі оның ішіне нәтиже сыюы қажет. Функция str1-ге сілтеуішті кері қайтарады. 6-шы листингте Strncat( ) функциясының көмегімен тура 5-ші листингтегідей нәтижеге қол жетеді.
1.4 Жолдарды салыстыру Жолдарды өзара тең немесе тең емес екендігін анықтау үшін салыстырады. Егер жолдар өзара тең болмаса, онда олардың біреуі “ұзынырақ”, ал екіншісі “қысқарақ” болады. “Қысқарақ” және “ұзынырақ” анықтамалары ASCII символдардың кодтарына сүйенеді. Кодтардың кезектесуі тура алфавиттегі реттік бойынша, бірақ бір өзгеше қасиет бар- ол жоғарғы регистрдің әріпиері, төменгі регистрдің әріптерінен “қысқарақ”. Мұның себебі, үлкен А-дан Z-ке дейінгі әріптер ASCII 65-тен 90-ға дейінгі кодтармен әкелінеді. Ал сол кездегі а-дан z-ке дейінгі әріптер 91-ден 122-ге дейінгі кодтармен жеткізіледі. Осы жағдаймен, С функциясының көмегімен “ZEBRA” сөзін салыстыру кезінде “apple” сөзінен кіші болып шығады. ANSI C кітапханасы екі жолды салыстыру функциялары үшін екі бүтін жолдарды салыстыру және белгілі бір ұзындыққа ие фрагменттерін салыстыру қарасырылады.
1.4.1 Екі бүтін жолды салыстыру Strcmp( ) функциясы екі жолды символ бойынша салыстыруға арналған. Оның прототипі: Int strcmp(const char*str1,const char*str2)
Str1 және str2 аргументтері салыстырылып жатқан жолдарға сілтейді. Кері қайтарылушы функцияның мағынасы 1-ші кестеде берілген.Назар аударыңыз, екі жолдық аргумент те константалармен (тұрақтылармен) хабарланған. Себебі олардың біреуі функция ішінде өзгермейді. Strcmp( ) функцияның қолданылуы 7-ші листингте:
1-ші кесте: