Главная Случайная страница


Полезное:

Как сделать разговор полезным и приятным Как сделать объемную звезду своими руками Как сделать то, что делать не хочется? Как сделать погремушку Как сделать так чтобы женщины сами знакомились с вами Как сделать идею коммерческой Как сделать хорошую растяжку ног? Как сделать наш разум здоровым? Как сделать, чтобы люди обманывали меньше Вопрос 4. Как сделать так, чтобы вас уважали и ценили? Как сделать лучше себе и другим людям Как сделать свидание интересным?


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Стандартные функции для работы со строками





Большинство функций для работы со строками содержится в библиотеке <string>.

 

1. Функция strcpy()

Формат вызова:

strcpy(str1, str2);

Копирует посимвольно строку str2 в строку str1. Копирование прекращается в случае достижения нулевого байта строки. str2, поэтому длина str2 не должна превышать длину строки str1.

Пример:

char str[40];

strcpy(str,”Проверка копирования”);

 

2. Функция strcat().

Формат вызова:

strcat(str1, str2);

 

Содержимое строки str2 присоединяется к содержимому строки str1.

Пример:

char str[80];

strcpy(str,”Для продолжения ”);

strcat(str,” нажмите клавишу ”);

 

 

3. Функция strcmp()

 

Формат вызова:

strcmp(str1, str2);

 

Сравнивает строки str1 и str2 и возвращает целое значение, различая строчные и прописные буквы:

Пример:

char str1[]=”Ошибка в базе данных”;

char str2[]=”Ошибка в Базе данных”;

int i = strcmp(str1,str2); // i>0, т.к. ’Б’ < ‘б’

 

4. Функция stricmp()

 

Сравнивает строки, не различая регистры символов.

Формат вызова:

stricmp(str1, str2);

Возвращает одно из следующих значений:

Пример:

char str1[]=”Moon”;

char str2[]=”MOON”;

int i = stricmp(str1,str2); // i=0

 

5. Функция strupr()

Формат вызова:

strupr(str);

 

Преобразует строку str к верхнему регистру и возвращает полученную строку.

Пример:

char str[]=”abcde”;

strupr(str);

cout << str; // ABCDE

 

6. Функция strlwr()

Формат вызова:

strlwr(str);

Преобразует строку str к нижнему регистру и возвращает полученную строку.

Пример:

char str[]=”ABRACADABRA”;

strlwr(str);

cout << str; // abracadabra

 

7. Функция strchr()

 

Формат вызова:

strchr(str,ch);

 

Производить поиск символа ch в строке str и в случае успешного поиска возвращает позицию первого вхождения символа в строку. Если указанный символ не найден, функция возвращает нуль. Поиск символа начинается с начала строки.

 

8. Функция atoi().

Формат вызова:

atoi(str);

 

Преобразует строку str в число типа int. Если в строке встречается символ, который не может быть преобразован, то функция возвращает 0

9. Функция atol().

Формат вызова:

atol(str);

Преобразует строку в число типа long.

Пример:

char str[]=”70 000”;

long l = atol(str);

cout << l; // 70000

 

10. Функция atof().

Формат вызова:

atof(str);

 

Преобразует строку str в число с плавающей точкой типа double. Строка должна быть представлена в формате:

[пробелы] [знак] [цифры].[цифры] [е] [знак] [цифры]

 

11. Функции ltoa(), itoa().

 

Выполняют обратное преобразование чисел (long и int) в строки.

Формат вызова:

ltoa(number, str, r);

itoa(number, str,r);

Здесь r - oснование системы счисления.

Пример:

int numb = 98765;

char str[10];

itoa(numb, str, 10); // десятичная с.с.

cout << numb << ‘\n’ << str;

 

12. Функция strlen().

Формат вызова:

strlen(str);

 

Вычисляет длину строки без учета нулевого байта.

Рассмотрим пример использование строковых функций.

 

#include <iostream.h>

#include <string.h>

void main()

{ char s1[80], s2[80];

strcpy(s1, “C++”);

strcpy(s2, “ – это язык программирования.”);

cout << “Длины строк: ” << strlen(s1);

cout << “ “ << strlen(s2) << ‘\n’;

if (! strcmp(s1,s2))

cout << “Эти строки равны. \n”;

else

cout << “Эти строки не равны. \n”;

strcat (s1,s2);

cout << s1 << ‘\n’;

strcpy(s2,s1);

cout << s1 << “ и “ << s2 << “\n”;

if (!strcmp(s1,s2))

cout << “строки s1 и s2 теперь одинаковы. \n “;

}

Результат:

Длины строк: 3 29

Эти строки не равны.

С++ - это язык программирования

С++ - это язык программирования. и С++ - это язык программирования.

Строки s1 и s2 теперь одинаковы.

 

 

Пример. Задана строка, состоящая из m слов. Каждое слово содержит n символов.

Написать программу вывода на экран первого слова, начинающего с заданного символа а

#include <iostream.h>

#include <conio.h>

#define m 5

# define n 3

void main()

{ clrscr();

int i, j;

char S[m*n]; // заданная строка

char a;

for (i=0; i<m*n; i++) cin >> S[i];

cin >> a;

i = 0;

while ((S[i]!= a) && (i<m*n))


{ i+=n;}

if (S[i] == a)

{ cout << “\n слово \n”;

for (j = i; j<i+n; j++) cout << S[j];

}

else cout << “\n Нет такого слова \n”;

}

Вопросы

1. Функция strcat(str1,str2)

1. копирует строку str2 в строку str1;

2. присоединяет содержимое строки str2 к содержимому str1;

3. сравнивает строки str1 и str2.

 

 







Date: 2015-12-12; view: 439; Нарушение авторских прав



mydocx.ru - 2015-2024 year. (0.012 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию