Функции, определеные в заголовочном файле 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); //Чтобы копировать - необходимо проверить,
//чтобы длины массива было достаточно на
//две строки + ноль-байт.
}
char * strncat(char *, char *,int) - объединяет 1-ю строку и n-байтов второй строки в одну.
3. 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.
int strncmp(char *, char *,int) - сравнение n байт у 2-х строк.
4.char * strcpy(char *, char *) - копирование строк; эта функция требует 2 указателя строк в качестве аргументов. Второй указатель, ссылыющийся на исходную строку, может быть объявленным указателем, именем массива или строковой константой. Первый указатель, ссылающийся на копию, должен ссылаться на массив или часть массива, имеющего размер, достаточный для размещения строки.
#define WORD "Таблица результатов"
void main (void){
char str1[30]; //Длина массива не проверяется
strcpy(str1, WORD)
puts(str1);
}
char * strтcpy(char *, char *,int) - копирование n байт строки
5. char *strdup(char *) – выделяет память и копирует строку.
6. char *strupr(char *) – преобразует строчные буквы в прописные.
7. char *strlwr(char *) – преобразует прописные буквы в строчные.
8. char *strrev(char *) – реверсирует строку.
9. char *strchr(char *, int ) – устанавливает позицию первого вхождения символа
10. char *strrchr(char *, int c) – устанавливает позицию последнего вхождения символа с.
11. char *strstr(char *, char *) - устанавливает позицию первого вхождения подстроки str2 в строку str1.
12. int stricmp(char *, char *) – сравнивает не различая строчные и прописные буквы.
Преобразование символьных строк
Функции, определеные в заголовочном файле stdlib.h.
1. int atoi() - строку в целое.
double atof() - строку в число с плавающей точкой.
void main(void){
char num[10];
int val;
puts("Введите число");
gets(num);
val=atoi(num); // обрабатывает до 1-го символа не являющегося
} // цифрой
2. Существуют функции обратного преобразования числа в строку.
char *str itoa(val) - целое в строку.
char *str ftoa(val) - с плавающей точкой в строку.
Дата добавления: 2016-02-02; просмотров: 732;