Функции, определеные в заголовочном файле ctype.h

Функции, определеные в заголовочном файле stdlib.h.

Преобразование символьных строк

Функции, определеные в заголовочном файле string.h

1. int strlen(char *) - опредляет длинну строки без'\0';

int k = strlen(str1);

2. char * strcat(char *, char *) - объединяет две строки в одну.

strcat(str1, str2); //результат в первом массиве.

void main (void){

char str1[80]="Мой любимый цветок";

char str2[10]="ромашка";

if (strlen(str1)+strlen(str2)< 80-1)

strcat(str1, str2); //Чтобы копировать - необходимо проверить,

//чтобы длины массива было достаточно на

//две строки + ноль-байт.

}

3. char * strncat(char *, char *,int) - объединяет 1-ю строку и n-байтов второй строки в одну.

4. int strcmp(char *, char *) - сравнение строк.

# define ANSWER "YES"

void main(void){

char try[10];

gets(try);

puts ("Вы студенты 203 группы?");

while (strcmp(try, ANSWER)!=0){

puts ("Попытайтесь ещё раз")

gets (try);

}

puts("Верно");

}

Функция возвращает 0, если строки одинаковы. Сравнение идёт до признака конца строки - '\0', а не до конца массива, или до первого несравнения:

В-А возвращает 1, А-В возвращает -1.

5. int strncmp(char *, char *,int) - сравнение n байт у 2-х строк.

6. char * strcpy(char *, char *) - копирование строк

#define WORD "Таблица результатов"

void main (void){

char str1[30]; //Длина массива не проверяется

strcpy(str1, WORD)

puts(str1);

}

7. char * strтcpy(char *, char *,int) - копирование n байт строки

8. char *strdup(char *) – выделяет память и копирует строку.

9. char *strupr(char *) – преобразует строчные буквы в прописные.

10. char *strlwr(char *) – преобразует прописные буквы в строчные.

11. char *strrev(char *) – реверсирует строку.

12. char *strchr(char *, int) – устанавливает позицию первого вхождения символа

14. char *strrchr(char *, int c) – устанавливает позицию последнего вхождения символа с.

15. char *strstr(char *, char *) - устанавливает позицию первого вхождения подстроки str2 в строку str1.

16. int stricmp(char *, char *) – сравнивает не различая строчные и прописные буквы.

1. int atoi() - строку в целое.

double atof() - строку в число с плавающей точкой.

void main(void){

char num[10];

int val;

puts("Введите число");

gets(num);

val=atoi(num); // обрабатывает до 1-го символа не являющегося

} // цифрой

2. Существуют функции обратного преобразования числа в строку.

itoa(int val, char *str, int radix) - целое в строку, где

val – число;

str – строка результата;

radix – система счисления.

gcvt(double val, int sig, char *str) - с плавающей точкой в строку, где

val – число;

sig – кол-во цифр;

str – строка результата.

Выполняют преобразования только с буквами английского алфавита.

1. Преобразование строчной буквы в прописную - int toupper(int c)

2. Проверка буква прописная или нет - int isupper(int c)

3. Преобразование прописной буквы в строчную - int tolower(int c)

4. Проверка буква строчная или нет - int islower(int c)

#include <ctype.h>

void main(void){

int ch; crit=0; //Признак прописные или строчные буквы

while ((ch=getche())!='\n'){

if(crit==0){

ch=isupper(ch)? tolower(ch): ch;

putchar(ch);

}

else{

ch=islower(ch)? toupper(ch):ch;

putchar (ch);

}

}


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: