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 *) – сравнивает не различая строчные и прописные буквы.
Преобразование символьных строк
Функции, определеные в заголовочном файле stdlib.h.
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 – строка результата.