Alt linux Программирование на языке С++ в среде Qt Creator Е. Р. Алексеев, Г. Г. Злобин, Д. А. Костюк, О. В. Чеснокова, А. С. Чмыхало Москва alt linux 2015



Download 5,27 Mb.
Pdf ko'rish
bet105/193
Sana24.02.2022
Hajmi5,27 Mb.
#227496
1   ...   101   102   103   104   105   106   107   108   ...   193
Bog'liq
Book-qtC


Глава 8. Строки в языке C++
Таблица 8.1: Функции работы со строками, библиотека string.h
Прототип функ-
ции
Описание функции
Пример
использова-
ния
Результат
size_t strlen (const
char ∗s)
Вычисляет длину строки s в
байтах
char s [80];
cout<<"s=";
cin . getline (s,80) ;
cout<<"s="<<<"
Длина строки
\t"<<
strlen(s)<s=Hello, Russia!
s=Hello, Russia!
Длина строки 14
char ∗strcat(char
∗dest, const char ∗
scr)
Присоединяет строку src в
конец строки dest, получен-
ная строка возвращается в
качестве результата
char s1[80],s2 [80];
cout<<"s1=";
cin . getline (s1,80) ;
cout<<"s2=";
cin . getline (s2,80) ;
cout<<"s="<,s2);
s1=Hello,
s2=Russia!
s=Hello, Russia!
char ∗strcpy(char
∗dest, const char ∗
scr)
Копирует строку src в место
памяти, на которое указыва-
ет dest
char s1[80],s2 [80];
cout<<"s1=";
cin . getline (s1,80) ;
strcpy(s2,s1) ;
cout<<"s2="<s1=Hello,Russia!
s2=Hello,Russia!
char ∗strncat(char
∗dest, const char ∗
dest, size_t maxlen)
Присоединяет строку maxlen
символов строки src в конец
строки dest
char s1[80],s2 [80];
cout<<"s1=";
cin . getline (s1,80) ;
cout<<"s2=";
cin . getline (s2,80) ;
cout<<"s="<s1,s2,6);
s1=Hello,
s2=Russia!
s=Hello, Russia
char ∗strncpy(char
∗dest, const char ∗
scr, size_t maxlen)
Копирует maxlen символов
строки src в место памяти,
на которое указывает dest
char s1[80],s2 [80];
cout<<"s1=";
cin . getline (s1,80) ;
strncpy(s2,s1,5) ;
cout<<"s2="<s1=Hello,Russia!
s2=Hello
int strcmp(const
char ∗s1, const
char ∗s2)
Сравнивает две строки в
лексикографическом поряд-
ке с учётом различия про-
писных и строчных букв,
функция возвращает 0, ес-
ли строки совпадают, воз-
вращает −1, если s1 рас-
полагается в упорядоченном
по алфавиту порядке рань-
ше, чем s2, и 1 в противопо-
ложном случае.
char s1[80],s2 [80];
cout<<"s1=";
cin . getline (s1,80) ;
cout<<"s2=";
cin . getline (s2,80) ;
cout<endl;
s1=RUSSIA
s2=Russia
-1
int strncmp(const
char ∗s1, const
char ∗s2, size_t
maxlen)
Сравнивает maxlen символов
двух строк в лексикогра-
фическом порядке, функция
возвращает 0, если строки
совпадают, возвращает -1,
если s1 располагается в упо-
рядоченном по алфавиту по-
рядке раньше, чем s2, и 1 —
в противоположном случае.
char s1[80],s2 [80];
cout<<"s1=";
cin . getline (s1,80) ;
cout<<"s2=";
cin . getline (s2,80) ;
cout<;
s1=Hello,Russia!
s2=Hello,
0
Программирование на языке С++ в среде Qt Creator


8.3. Тип данных string
245
Таблица 8.2: Функции работы со строками, библиотека stdlib.h
Прототип функции
Описание функции
Пример использова-
ния
Результат
double atof(const char∗s)
Преобразует строку в ве-
щественное
число,
в
слу-
чае неудачного преобразова-
ния возвращается число 0.0
char a[10];
cout<<"a=";
cin>>a;
cout<<"a="<<a=23.57
a=23.57
int atoi(const char∗s)
Преобразует строку в целое
число, в случае неудачного
преобразования возвращает-
ся число 0
char a[10];
cout<<"a=";
cin>>a;
cout<<"a="<<a=23
a=23
long atol(const char∗s)
Преобразует строку в длин-
ное
целое
число,
в
слу-
чае неудачного преобразова-
ния возвращается число 0
char a[10];
cout<<"a=";
cin>>a;
cout<<"a="<<a=23
a=23
Для преобразования числа в строку можно воспользоваться функцией
sprintf
из библиотеки stdio.h.
sprintf(s, s1, s2);
Она аналогична описанной ранее функции printf, отличие состоит в том, что
осуществляется вывод не на экран, а в выходную строку s.
Например, в результате работы следующих команд
char str[80];
sprintf (str, "%s %d %s", "С Новым ", 2014, "годом!!!");
в переменную str будет записана строка "С Новым 2014 годом!!!".
8.3
Тип данных string
Кроме работы со строками как с массивом символов, в C++ существует спе-
циальный тип данных string. Для ввода переменных этого типа можно исполь-
зовать cin
1
или специальную функцию:
getline(cin,s);
Здесь s — имя вводимой переменной типа string.
При описании переменной типа string можно сразу присвоить ей значение:
string имя_переменной(s);
Здесь имя_переменной — идентификатор типа string, s — строковая констан-
та. Например, команда
string v("Hello");
создаёт строку v, в которую записывается значение Hello.
Доступ к i-му элементу строки осуществляется стандартным образом:
имя_строки[номер_элемента];
Над строками типа string определены следующие операции:
1
При работе c командой cin, как отмечалось ранее, ввод осуществляется до пробела.
© 2015 Алексеев Е. Р., Злобин Г. Г., Костюк Д. А., Чеснокова О. В., Чмыхало А. С.


246
Download 5,27 Mb.

Do'stlaringiz bilan baham:
1   ...   101   102   103   104   105   106   107   108   ...   193




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish