Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
lekcii_1_10 / Лекция 05.pptx
Скачиваний:
45
Добавлен:
21.05.2015
Размер:
488.43 Кб
Скачать

strcat(s1, s2);

Функция strcat() присоединяет строку s2 к концу строки s1, при этом строка s2 не изменяется.

#include <iostream>

#include <cstring> using namespace std; int main()

{

char s1[20], s2[10];

strcpy(s1, "Привет");

strcpy(s2, " всем!");

strcat (s1, s2);

cout << s1;

return 0;

}

strcmp(s1, s2);

Функция strcmp() сравнивает строку s2 со строкой s1 и возвращает значение 0, если они равны.

Если строка s1 лексикографически (т.е. в соответствии с алфавитным порядком) больше строки s2, возвращается положительное число. Если строка s1 лексикографически меньше строки s2, возвращается отрицательное число.

#include <iostream>

#include <cstring> #include <cstdio> using namespace std; bool password(); int main()

{

if(password()) cout << "Вход разрешен.\n";

else cout << "В доступе отказано.\n";

return 0;

}

// Функция возвращает значение true, если пароль принят, и значение false в противном случае.

bool password()

{

char s[80];

cout << "Введите пароль: ";

gets(s);

if(strcmp(s, "пароль")) { // Строки различны.

cout << "Пароль недействителен.\n";

return false;

}

// Сравниваемые строки совпадают.

return true;

При использовании функции strcmp() важно помнить, что она возвращает число 0 (т.е. значение false), если сравниваемые строки равны.

Следовательно, если вам необходимо выполнить определенные действия при условии совпадения строк, вы должны использовать оператор НЕ (!).

#include <iostream>

#include <cstdio>

#include <cstring> using namespace std; int main()

{

char s [80];

for(;;) {

cout << "Введите строку: ";gets (s);

if(!strcmp("Выход", s)) break;

}

return 0;

}

strlen(s);

Здесь s — строка. Функция strlen() возвращает длину строки, указанной аргументом s.

При выполнении следующей программы будет показана длина строки, введенной с клавиатуры.

#include <iostream>

#include <cstdio>

#include <cstring> using namespace std; int main()

{

char str[80];

cout << "Введите строку: "; gets(str);

cout << "Длина строки равна: " << strlen(str);

return 0;

}

// Отображение строки в обратном порядке.

#include <iostream>

#include <cstdio>

#include <cstring> using namespace std; int main()

{

char str[80];

int i;

cout << "Введите строку: ";

gets(str);

for(i=strlen(str)-1; i>=0; i--)

cout << str[i];

return 0;

}

#include <iostream>

#include <cstdio>

#include <cstring> using namespace std; int main()

{

char s1[80], s2 [80];

cout << "Введите две строки: ";

gets (s1); gets(s2);

cout << "Их длины равны: " << strlen (s1);

cout << ' '<< strlen(s2) << '\n';

if(!strcmp(s1, s2)) cout << "Строки равны \n";

else cout << "Строки не равны \n";

strcat(s1, s2);

cout << s1 << '\n';

strcpy(s1, s2);

cout << s1 << " и " << s2 << ' ';

cout << "теперь равны\n";

return 0;

}

Если запустить эту программу на выполнение и по приглашению ввести строки "привет" и "всем", то она отобразит на экране следующие результаты:

Их длины равны: 6 4

Строки не равны

привет всем

всем и всем теперь равны

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

прописные эквиваленты.

#include <iostream>

#include <cstring> #include <cctype> using namespace std; int main()

{

char str[80];

int i;

strcpy(str, "test");

for(i=0; str[i]; i++) str[i] =

toupper(str[i]);

cout << str;

return 0;

}

Соседние файлы в папке lekcii_1_10