Основы программирования на языке C


         

Обработка строк


Для выполнения описанных в этом подразделе функций необходимо включить в программу файл string.h командой

#include <string.h>

strcat - сцепить две строки.

Определение: char *strcat(s1,s2) char *s1, *s2;

Пример 1:

/* сцепить две строки */ /* в головном файле conio.h содержится функция очистки экрана clrscr( ) */ #include <string.h> #include <stdio.h> #include <conio.h> int main(void) { clrscr(); char destination[25]; char *blank = " ", *c = "C++", *turbo = "Turbo"; strcpy(destination, turbo); strcat(destination, blank); strcat(destination, c); printf("%s\n", destination); getch(); return 0; }

strncat - сцепить две строки, причем из второй строки копировать не более n символов.

Определение: char *strncat(s1,s2,n) char *s1, *s2; int n;

Пример 2:

/* cцепить две строки, причем из второй строки копировать не более n символов */ #include <string.h> #include <stdio.h> #include <conio.h> int main(void) { clrscr(); char destination[25]; char *source = "structured "; strcpy(destination, "programming"); strncat(destination, source, 11); printf("%s\n", destination); getch(); return 0; }

strcmp - сравнить две строки в лексикографическом порядке.

Определение: int strcmp(s1,s2) char *s1, *s2;

Пример 3:

#include <string.h> #include <stdio.h> #include <conio.h> int main(void) { char *buf1 = "aaa", *buf2 = "bbb", *buf3 = "ccc"; int ptr; clrscr(); ptr = strcmp(buf2, buf1); if (ptr > 0) printf("buffer 2 is greater than buffer 1\n"); else printf("buffer 2 is less than buffer 1\n"); ptr = strcmp(buf2, buf3); if (ptr > 0) printf("buffer 2 is greater than buffer 3\n"); else printf("buffer 2 is less than buffer 3\n"); getch(); return 0; }

strncmp - сравнить первые n символов двух строк.

Определение: int strncmp(s1,s2, n) char *s1, *s2; int n;

Пример 4:

#include <string.h> #include <stdio.h> #include <conio.h> int main(void) { char *buf1 = "aaabbb", *buf2 = "bbbccc", *buf3 = "ccc"; int ptr; clrscr(); ptr = strncmp(buf2,buf1,3); if (ptr > 0) printf("buffer 2 is greater than buffer 1\n"); else printf("buffer 2 is less than buffer 1\n");




Содержание  Назад  Вперед