Функции за работа с низове
В библиотеката string.h се съдържат функциите за работа с низове.
Ето обяснението на някои от тях:
     1.Функцията strlen(s) - връща дължината на низ с име s.
      Пример 1 :
#include <iostream> //for Code Blocks
#include <string.h>
using namespace std;
int main()
{
char s[80];
int i;
cout<< "Insert characters:";
cin>>s;
i=strlen(s);
cout<< "Numbers ="<< i << endl;
return 0;
}
     2.Функцията strcpy(s2,s1)-копира съдържанието на низ s1 в низ s2 .
      Пример 2 :
#include <iostream> //for Code Blocks
#include <string.h>
using namespace std;
int main()
{
char s[80]="Hello World",a[80];
strcpy(a,s);
cout<< a<< endl;
return 0;
}

     3.Функцията strncpy(s2,s1,n)-копира n на брой символа от s1 в низ s2 .
      Пример 3 :
#include <iostream> //for Code Blocks
#include <string.h>
using namespace std;
int main()
{
char s1[]="Hello World";
char s2[80];
strncpy(s2,s1,5);
cout<< s2<< endl;
return 0;
}
Ако се напише char s1[80]="Hello World"; няма да работи правилно.
     Програмата може да се напише и по този начин :

#include <iostream> //for Code Blocks
#include <string.h>
using namespace std;
int main()
{
char s1[80]="Hello World",s2[80];
strncpy(s2,s1,5);
s2[5]='\0';
cout<< s2<< endl;
return 0;
}
     Символа за край на низ '\0', се добавя ръчно.

     4.Функцията strcat(s1,s2) - конкатенация ('слепване','добавяне'), добавя низ s2
в края на низ s1. Когато извеждаме s1 , тогава извеждаме слепените низове на екрана.
      Пример 4 :
#include <iostream> //for Code Blocks
#include <string.h>
using namespace std;
int main()
{
char s1[20]="Hello",s2[20]=" World";
strcat(s1,s2);
cout<< s1<< endl;
return 0;
}
     5.Функцията strstr(s1,s2)- търси дали се съдържа низ s2 в низ s1 ,
ако го намери връща указател към първото срещане на s2, ако не го намери връща 0.
      Пример 5 :
#include <iostream> //for Code Blocks
#include <string.h>
using namespace std;
int main()
{
char s1[20]= "012345or not to be";
char s2[20]="or";
char *p;
int a;
p= strstr(s1,s2);
a=p-s1;
cout<< a<< endl;
return 0;
}
     6.Функцията strcspn(s1,s2) - връща позицията на първия срещнат
символ от s2 в низ s1
      Пример 6 :
#include <iostream> //for Code Blocks
#include <string.h>
using namespace std;
int main()
{
char s1[20]= "012345or not to be";
char s2[20]="tb";
int a;
a= strcspn(s1,s2);
cout<< a<< endl;
char s3[20]="be";
a= strcspn(s1,s3);
cout<< a<< endl;
return 0;
}
     7.Функцията strcmp(s1,s2) - функцията сравнява всеки символ и позиция от s2
в низ s1, ако съвпадат връща 0, ако s1< s2 връща отрицателна стойност,
ако s1> s2 връща положителна стойност (oбикновенно -1, 0,+1).
      Пример 7 :
#include <iostream> //for Code Blocks
#include <string.h>
using namespace std;
int main()
{
char s1[20]= "To be";
char s2[20]="To be";
int a;
a=strcmp(s1,s2);
cout<< a<< endl;
return 0;
}
     8.Функцията strchr(s1,s2) - търси дали съдържа символ s2 в низ s1 ,
ако го намери връща указател към първото срещане на s2, ако не го намери връща 0.
      Пример 8 :
#include <iostream> //for Code Blocks
#include <string.h>
using namespace std;
int main()
{
char s1[20]= "To be or not to be";
char s2='n';
char *p;
int a; p=strchr(s1,s2);
a=p-s1;
cout<< a<< endl;
return 0;

}
Пример 3 : Въвеждане на низ чрез функцията gets(), след това го извеждаме.
#include <iostream> //for Code Blocks
#include <stdio.h>
using namespace std;
int main()
{
char a[20];
gets(a);
cout<< a<< endl;
return 0;
}

Благодаря за вниманието Ви !