Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
53
Добавлен:
11.05.2015
Размер:
547.84 Кб
Скачать

Стандартные функции ввода-вывода строк

В языке С для ввода-вывода символьных строк существует специальный набор стандартных функций, описанных в заголовочном файле stdio.h.Здесь спецификатор типа const char означает, что строка str не может быть изменена внутри программы. К стандартным относятся такие функции как:

puts

puts(const char *str); выводит на экран строку str

gets

char* gets(char *str); вводит с экрана строку str

Стандартные функции обработки строк

В языке С для обработки символьных строк существует специальный набор стандартных функций, описанных в заголовочных файлах string.h и stdlib.h. К ним относятся такие функции как:

1. Функции определения длины строки.

strlen

unsigned strlen(const char *str); вычисляет длину строки str

strcspn

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

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

strspn

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

определяет длину первого сегмента строки str1, содержащего только символы из множества символов строки str2

2. Функции получения чисел по их символьному представлению

atof

double atof(const char *str);

преобразует строку str в вещественное число типа double

atoi

int atoi(const char *str);

преобразует строку str в целое число типа int

atol

long atol(const char *str);

преобразует строку str в целое число типа long.

3. Функции получения символьного представления чисел

itoa

char *itoa(int value, char *str, int radix);

преобразует целое value в строку str. При изображении числа используется система счисления с основанием radix. Если основание 10 и число отрицательное – первым символом строки будет «минус».

ltoa

char *ltoa(long value, char *str, int radix);

преобразует длинное целое value в строку str. При изображении числа используется система счисления с основанием radix.

ultoa

char *ultoa(unsigned long value, char *str, int radix);

преобразует беззнаковое длинное целое value в строку str. При изображении числа используется система счисления с основанием radix

4. Функции копирования строк

strcpy

char * strcpy (char *sDest, const char *sSource);

копирует байты строки sSource в строку sDest

strncpy

char * strncpy (char *sDest, const char *sSource, int count);

копирует первые count байт строки с в строку sDest. Если count меньше или равно длине sSource заключительный символ ‘\0’ автоматически не добавляется в sDest. В противном случае заключительный символ вставляется после count байт, среди которых строка sSource, дополненная пробелами.

strdup

char * strdup (const char *str);

выделяет память и переносит в нее копию строки str.

5. Функции конкатенации строк

strcat

char * strcat (char *sDest, const char *sSource);

приписывает строку sSource к строке sDest.

6. Функции сравнения строк

strcmp

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

сравнивает строки str1 и str2. Результат отрицателен, если str1 < str2; равен 0, если str1 == str2, и положителен, если str1 > str2.

strncmp

char * strncmp (const char *str1, const char *str2, int count);

сравнивает первые count байт строк str1 и str2. Результат отрицателен, если str1 < str2; равен 0, если str1 == str2, и положителен, если str1> str2.

strnicmp

char * strnicmp (const char *str1, const char *str2, int count);

сравнивает первые count байт строк str1 и str2, не учитывая регистра (прописные и строчные буквы считаются одинаковыми). Результат отрицателен, если str1 < str2; равен 0, если str1 == str2, и положителен, если str1> str2.

7. Функции поиска строк

strchr

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

ищет в строке str первое вхождение символа c. Возвращает NULL, если символ в строке отсутствует.

strrchr

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

ищет в строке str последнее вхождение символа c. Возвращает NULL, если символ в строке отсутствует.

strstr

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

ищет в строке str1 подстроку str2. Возвращает указатель на тот элемент в строке str1, с которого начинается подстрока str2, или NULL, если подстрока str2 в строке str1 отсутствует.

strpbrk

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

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

strtok

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

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

8. Функции преобразования строк

strlwr

char * strlwr (const char *str);

преобразует буквы верхнего регистра в строке в соответствующие буквы нижнего регистра.

strupr

char * strupr (const char *str);

преобразует буквы нижнего регистра в строке в соответствующие буквы верхнего регистра.

9. Функции заполнения строк

strset

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

Заполняет строку str заданным символом c.

strnset

char * strnset (const char *str, int c, int count);

Заполняет первые count байт строки str заданным символом c.