Для вывода строки на консоль служит стандартная функция

int puts(const char *s);

которая в случае удачи возвращает неотрицательное число, а в случае неудачи – EOF.

 

Прототипы функций gets и puts описаны в заголовочном файле stdio.h.

 

Сравнение строк

int strcmp(const char *str1, const char *str2);

 

int strncmp (const char *str1, const char *str2, size_t n);

лексикографически сравнивает не более чем n первых символов из строк str1 и str2. Функция возвращает –1, 0 или 1, если первые n символов из строки str1 соответственно меньше, равны или больше первых n символов из строки str2.

 

char* strstr(const char *str1, const char *str2);

находит первое вхождение строки str2 (без конечного нулевого байта) в строку str1. В случае успеха функция возвращает указатель на найденную подстроку, а в случае неудачи – NULL. Если указатель str1 указывает на строку нулевой длины, то функция возвращает указатель str1.

 

Копирование строк

char *strcpy(char *strDst, const char *strSrc);

копирует строку strSrc в строку strDst. Строка strSrc копируется полностью, включая завершающий нулевой байт. Функция возвращает указатель на strDst. Если строки перекрываются, то результат непредсказуем.

 

char *strncpy(char *strDst, const char *strSrc, size_t n);

копирует n символов из строки strSrc в строку strDst. Если строка strSrc содержит меньше чем n символов, то последний нулевой байт копируется столько раз, сколько нужно для расширения строки strSrc до n символов. Функция возвращает указатель на строку str1

char* strcat(char *strDst, const char *strSrc);

присоединяет строку strSrc к строке strDst, причем завершающий нулевой байт строки strDst стирается. Функция возвращает указатель на строку strDst.

char* strncat(char *strDst, const char *strSrc, size_t n);

присоединяет n символов из строки strSrc к строке strDst, причем завершающий нулевой байт строки strDst стирается. Если длина строки strSrc меньше n, то присоединяются только символы, входящие в строку strSrc. После соединения строк к строке strDst всегда добавляется нулевой байт. Функция возвращает указатель на строку strDst

 

Поиск символа в строке.

char* strchr(const char *str, int c);

ищет первое вхождение символа, заданного параметром c, в строку str. В случае успеха функция возвращает указатель на первый найденный символ, а в случае неудачи – NULL.

 

char* strrchr(const char *str, int c);

ищет последнее вхождение символа, заданного параметром c, в строку str. В случае успеха функция возвращает указатель на последний найденный символ, а в случае неудачи – NULL.

 

size_t strspn(const char *str1, const char *str2);

возвращает индекс первого символа из строки str1, который не входит в строку str2.

Функция

size_t strcspn(const char *str1, const char *str2);

возвращает индекс первого символа из строки str1, который входит в строку str2.

 

char* strpbrk(const char *str1, const char *str2);

находит в строке str1 первый символ, который равен одному из символов в строке str2. В случае успеха функция возвращает указатель на этот символ, а в случае неудачи – NULL.

 

Разбор на лексемы

char* strtok(char *str1, const char *str2);

возвращает указатель на следующую лексему (слово) в строке str1, в которой разделителями лексем являются символы из строки str2. В случае если лексемы закончились, то функция возвращает NULL. При первом вызове функции strtok параметр str1 должен указывать на строку, которая разбирается на лексемы, а при последующих вызовах этот параметр должен быть установлен в NULL. После нахождения лексемы функция strtok записывает после этой лексемы на место разделителя нулевой байт.

 

Память

void *memchr(const void *str, int c, size_t n);

Ищет первое вхождение с в n байтах str.

 

int memcmp(conct void *str1, const void *str2, size_t n); Сравнивает первые n байт str1 и str2.

 

void *memcpy(void *str1, const void *str2,size_t n); Копирует n байт из str2 в str1

 

void *memmove(void *str1, const void *str2,size_t n); Копирует n байт из str2 в str1, перекрыв. Строк

void *memset(void *str1, int c,size_t n);

Копирует c в n байт в str1.