Скачать презентацию Мова С Рядки та операції з ними Скачать презентацию Мова С Рядки та операції з ними

Tema_7_Cpp.pptx

  • Количество слайдов: 10

Мова С++ Рядки та операції з ними Мова С++ Рядки та операції з ними

Символьна інформація — це інформація, що відображається за допомогою символів (букв, цифр, знаків операцій Символьна інформація — це інформація, що відображається за допомогою символів (букв, цифр, знаків операцій і ін. ). Коди 0. . . 127 [кодування ASCII (American Standard Code for Information Interchange — Американський стандартний код обміну інформацією)] Коди 128. . . 255 (містить кирилицю і символи псевдографіки) Для того, щоб визначити по цих таблицях код того, або іншого символу, потрібно додати номери рядка та стовпця, в яких він розташований. Так, код символа 5 рівний 05+048 = 053.

Створення рядків char str 1[10]; // Рядок - масив з 10 символів. // Початкове Створення рядків char str 1[10]; // Рядок - масив з 10 символів. // Початкове значення символів не визначено. char str 2[10]="Hello"; /* Використовується ініціалізація (не присвоювання!). У перші 5 символів записується "Hello", у 6 - нуль-термінатор, значення трьох останніх не визначено. */ char str 3[10]={'H', 'e', 'l', 'o', ''}; //еквівалентно попередньому. . char str 4[10]="Very long line"; // Помилка. // Масив з 10 елементів не можна ініціювати довшою послідовністю char str 5[]="Very long line"; // А так можна. Масив з 15 елементів.

Присвоєння значень елементам рядка присвоювання окремих символів. str 1[0]=’H’; str 1[1]=’e’; str 1[2]=’l’; str Присвоєння значень елементам рядка присвоювання окремих символів. str 1[0]=’H’; str 1[1]=’e’; str 1[2]=’l’; str 1[3]=’l’; str 1[4]=’o’; str 1[5]=’’; char s[200]; // масив з кількістю елементів, достатнім для зберігання 199 необхідних символів Рядок може містити символи, цифри та спеціальні знаки.

У рядку 10 за допомогою функції gets() вводяться символи з пробілами доти, поки у У рядку 10 за допомогою функції gets() вводяться символи з пробілами доти, поки у потоці вводу не трапиться код клавіші enter. #include #include #include int main() { char string[] = "this is string"; puts("Enter the string: "); char in_string[50]; gets(in_string); puts(string); puts(in_string); system("pause"); return 0; }

Копіювання рядків #include <cstdlib> #include <iostream> #include <string. h> using namespace std; int main(int Копіювання рядків #include #include #include using namespace std; int main(int argc, char* argv[]) { char s 2[27] = "Counter-Strike 1. 6 forever char s 1[27]; cout << "strcpy(s 1, s 2) = " << strcpy(s 1, s 2) << endl; cout << "s 1= " << s 1 << endl; char s 3[7]; cout << strncpy(s 3, s 2, 7) << endl; system("pause"); return 0; }

Конкатенація (об’єднання) рядків #include <iostream> #include <string. h> using namespace std; int main(int argc, Конкатенація (об’єднання) рядків #include #include using namespace std; int main(int argc, char* argv[]) { char s 1[30] = "I am "; char s 2[] = "programmer on the C++!!!!"; cout << strcat(s 1, s 2) << endl; char s 3[23] = "I am a good "; cout<< "s 1 "<< s 1<< endl; cout<< "s 2 "<< s 2<< endl; cout<< "s 3 "<< s 1<< endl; cout << strncat(s 3, s 2, 10) << "!!!" << endl; // system("pause"); return 0; }

Визначення довжини рядків Прототип unsigned strlen(char *str); char str 5[]=“fghfghgfhfhf

Основні функції роботи зі стрічками Назва strcat strchr Прототип char *strcat(char *str 1, char Основні функції роботи зі стрічками Назва strcat strchr Прототип char *strcat(char *str 1, char *str 2); char *strchr(char *str, char c); strcmp int strcmp(char *str 1, char *str 2); Призначення Приписує рядок str 2 в кінець рядка str 1 Знаходить в рядку str перше входження символа c. Якщо символ не знайдений, то повертає NULL Порівнює рядки str 1 і str 2. Результат: < 0, якщо str 1 0, якщо str 1>str 2 Порівнює рядки str 1 і str 2 без врахування регістру буквенних символів. Повертає те ж саме значення що й strcmp. Копіює рядок str 2 у рядок str 1 Визначає довжину першого сегменту рядка str 1, що містить символи, які не входять в множину символів рядка str 2 Створює копію рядка s у динамічній пам’яті. Динамічна пам’ять виділяється функцією malloc(). Повертає вказівник на копію рядка, або NULL, якщо пам’ять не може бути виділена. Обчислює довжину рядка str Перетворює букви верхнього регістра рядка іstr у букви нижнього регістра strcmpi int strcmpi(char *str 1, char *str 2); strcpy strcspn char *strcpy(char *str 1, char *str 2); int strcspn(char *str 1, char *str 2); strdup char *strdup(const char *s); strlen strlwr unsigned strlen(char *str); char *strlwr(char *str); strncat char *strncat(char *str 1, char *str 2, int n); Дописує n символів рядка str 2 в кінець рядка str 1. Якщо n strlen(str) strstr char *strstr(char *str 1, char *str 2); strtok char *strtok(char *s 1, const char * s 2); strupr char *strupr(char *str); Записує рядок у зворотному порядку. Знаходить довжину першого сегменту рядка str 1, що містить символи із множини символів, що входять в рядок str 2 Повертає вказівник на елемент рядка str 1, який є початком підрядка str 2, і NULL, якщо str 2 не входить в str 1 Виділяє у рядку s 1 послідовність символів (лексему), обмежену з двох сторін будь-яким із символів, що входять у рядок s 2. Повертає вказівник на початок першої лексеми. Якщо лексема не знайдена, то повертає NULL. Наступні виклики цієї функції з першим параметром NULL, повертають вказівники на наступні лексеми. Перетворює букви нижнього регістра рядка str у верхній

Порівняння рядків #include <iostream> #include <iomanip> using namespace std; int main(int argc, char* argv[]) Порівняння рядків #include #include using namespace std; int main(int argc, char* argv[]) { char s 1[] = "www. cppstudio. com"; char s 2[] = "http: //www. cppstudio. com"; cout << " s 1 == s 1 -> " << setw(2) << strcmp(s 1, s 1) << endl; // s 1 = s 1 cout << " s 1 < s 2 -> " << setw(2) << strcmp(s 1, s 2) << endl; // s 1 < s 2 cout << " s 2 > s 1 -> " << setw(2) << strcmp(s 2, s 1) << endl; // s 2 > s 1 system("pause"); return 0; }