c character conversion functions
Овај приручник покрива функције претварања знакова Ц ++ као што је претварање знака у целобројно или низ и низ знакова у низ са примерима кода:
У Ц ++, како развијамо апликације које укључују многе типове, постаје неопходно претворити један тип у други. Већ смо видели неколико основних конверзија типа у нашим ранијим водичима.
Такође смо видели конверзије низова и претварање нумеричких типова у низове. Осим функција конверзије низа које смо већ видели, постоји неколико функција које се користе за претварање карактера у друге типове података.
То су функције које узимају један знак или низ знакова, а затим их претварају у друге типове података.
=> Прочитајте серију Еаси Ц ++ Траининг Сериес.
Шта ћете научити:
- Ц ++ функције конверзије знакова
- Закључак
Ц ++ функције конверзије знакова
Када је реч о конверзији једног знака у цео број или низ и конверзији низа знакова у низ, функције конверзије се мало мењају од функција функција конверзије низа.
видео за гледање са вр слушалицама
У овом упутству ћемо разговарати о следећим конверзијама:
- Конверзија карактера у цео број (цхар у инт Ц ++)
- Конверзија знака у низ (цхар у низ Ц ++)
- Конверзија низа знакова у низ
Прве две конверзије обрађују један знак, док последња конверзија укључује низ знакова.
Претвори знак у цео број - цхар у инт
Да бисмо претворили један знак у целобројни тип, имамо две методе како је наведено у наставку:
# 1) Кастингом
Можемо користити операцију пребацивања да конвертујемо један знак у његов целобројни еквивалент. У овом случају ће се приказати АСЦИИ еквивалент знака.
Размотрите следећу конверзију,
char a = 'A'; int num = (int) a;
У овом случају, „нум“ ће имати вредност 65 која је АСЦИИ еквивалентна знаку „А“.
Алтернативно, можемо да користимо следећу операцију ако желимо да бројни знак претворимо у целобројну вредност.
char a = '2'; int num = a-48;
Овде је 48 АСЦИИ вредност 0. Оно што се овде ради је други ред а-48 имплицитно претвара цхар а у његов АСЦИИ еквивалент, а затим га одузима од 48 (50-48) што резултира целобројном вредношћу 2.
# 2) Коришћење стрингстреам-а
Као што смо већ видели у водичу о функцијама конверзије низа, можемо претворити један знак представљен као низ низ објеката у целу вредност или било коју нумеричку вредност.
Доље је дат код који то показује.
#include #include #include using namespace std; int main() { stringstream str; str <> x; cout<<'Converted value of character 5 :'< Излаз:
Претворена вредност карактера 5: 5
Претвори знак у низ - знак у низ
Постоје различити начини помоћу којих можемо један знак претворити у низ.
Размотримо неке од ових метода.
# 1) Коришћење конструктора обезбеђеног низом класе.
Прототип функције: стринг с (инт н, цхар к);
Параметар (и):
н => Величина низа који ће се генерисати.
к => Карактер који треба претворити у низ.
Повратна вредност: с тринг добијен конверзијом карактера.
Опис: Конструктор класе стринг узима као параметре дужину низа (н) и један знак, а затим их претвара у низ.
Доље дат је једноставан пример за демонстрацију конверзије једног карактера у низ.
#include #include using namespace std; int main() { string str(1,'A'); cout<<'The string obtained by converting single character : '< Излаз:
Низ добијен претварањем једног знака: А.
Горња конверзија је једноставна. Позивамо конструктор низа и наводимо дужину низа (први параметар) као 1, јер претварамо један знак, а други параметар је карактер који треба претворити у низ (у овом случају „А“).
# 2) Коришћење стд :: стринг Оператор = И + =
Оператори класе стд :: стринг, = и + = су преоптерећени за знакове. Тако да можемо користити ове операторе за претварање једног карактера у низ.
То је приказано у доле приказаном програму.
#include #include using namespace std; int main() { string str; char c = 'B'; str = 'C'; str += c; cout<<'The string obtained by converting single character : '< Излаз:
Низ добијен претварањем једног знака: ЦБ
У овом програму смо користили оба преоптерећена оператора, =, и + =. Декларисали смо објект низа, а затим смо му доделили знак помоћу оператора =. Даље користимо оператор + = и додамо други знак објекту низа.
Видимо да се други пут лик заправо повезује са већ постојећим садржајем у објекту стринга.
# 3) Коришћење различитих метода стд :: стринг
класа стд :: стринг подржава разне преоптерећене методе помоћу којих можемо прослиједити знак у низ који на крају претвара карактер у низ.
Неке од метода класе стд :: стринг су:
- потисне
Прототип функције: воид пусх_бацк (цхар ц)
Параметар (и): ц => Карактер који се додељује низу
Повратна вредност: враћа се празним
Опис: Ова функција је преоптерећена за знакове и додељује знак крају низа.
- додати
Прототип функције: стринг & додај (сизе_т н, цхар ц)
Параметар (и):
н => Број додавања знака.
ц => Карактер који треба додати низу.
Повратна вредност: Низ добијен конверзијом карактера.
Опис: Функција додавања стд :: стринг узима два аргумента. Први аргумент је колико је пута знак потребно копирати у низ. Други аргумент је стварни карактер који се копира. Дакле, функција додавања додијелиће онолико копија знакова низу како је наведено у првом аргументу.
- доделити
Прототип функције: стринг & ассигн (сизе_т н, цхар ц);
Параметар (и):
н => Број копија знака.
ц => Карактер који треба копирати у низ.
Повратна вредност: Низ добијен конверзијом карактера.
Опис: Функција додељивања замењује тренутни садржај низа са н (први аргумент) копијама знака (други аргумент).
- уметак
Прототип функције: стринг & инсерт (сизе_т поз, сизе_т н, цхар ц);
Параметар (и):
пос => Положај на почетку којег знака треба убацити.
н => Број копија знака.
ц => Карактер који треба уметнути у низ.
Повратна вредност: Низ добијен конверзијом карактера.
Опис: Ова функција убацује н (други аргумент) копија знака (трећи аргумент) на почетну позицију низа наведеног пос (први аргумент).
Даље ћемо развити програм који демонстрира све горе наведене функције стд :: стринг класе.
#include #include using namespace std; int main() { string str; str.push_back('A'); cout<<'push_back single character : '< Излаз:
пусх_бацк један знак: А
додати један знак: Ц.
доделити један знак: Д.
убаци један знак: БД
Горњи програм приказује функције пусх_бацк, додавање, додељивање и уметање. Излаз приказује резултат или низ који враћа свака функција.
# 4) Коришћење стд :: стрингстреам
Већ смо разговарали о конверзији нумеричких типова у низ помоћу стрингстреам-а. Конверзија карактера у низ такође следи исти принцип када се користи класа стрингстреам.
Дати знак се убацује у ток, а затим се садржај записује у низ.
Разјаснимо то помоћу програма Ц ++.
#include #include #include using namespace std; int main() { string str; stringstream mystr; mystr<>str; cout<<'The string obtained by converting single character : '< Излаз:
Низ добијен претварањем једног карактера: А.
Прво убацујемо знак у објект тока, а затим се тај бафер записује у објект низа. Тако излаз програма приказује садржај низа објекта који је један знак.
Претвори низ знакова у низ
Класа стд :: стринг има много метода које вам могу добро доћи при раду са низовима знакова. Стога је препоручљиво претворити низове знакова у низ објеката и затим их користити тако да можемо писати ефикасне програме.
Постоје две методе за претварање низа знакова у низ као што је приказано доле.
# 1) Коришћење конструктора низова
Као што је већ речено за претварање једног карактера у низ, можемо користити конструктор низа за претварање низа знакова у низ.
Прототип функције: стринг (цонст цхар * с);
Параметри: с => низ знакова завршених нулом за претварање у низ
Повратна вредност: стринг => конвертовани стринг
Опис: Овај преоптерећени конструктор класе стд :: стринг узима низ знакова или Ц-стринг као аргумент и враћа низ.
Следећи програм демонстрира ову конверзију.
#include #include using namespace std; int main() { char myarray() = {'Software Testing Help'}; string mystr(myarray); cout<<'Converted string: '< Излаз:
Конвертовани низ: Помоћ за тестирање софтвера
Горњи програм је прилично једноставан. Потребан је само један позив конструктору стд :: стринг за претварање датог низа знакова у низ.
# 2) Коришћење = Преоптерећени оператер
Други приступ претварању низа знакова у објект низа је употреба преоптерећеног оператора =. У овом случају можемо директно доделити низ знакова објекту стринга користећи = оператор и садржај ће се проследити стрингу.
Следећи пример то показује.
#include #include using namespace std; int main() { char myarray() = {'Software Testing Help'}; string mystr; mystr = myarray; cout<<'Converted string: '< Излаз:
Конвертовани низ: Помоћ за тестирање софтвера
Горњи програм додељује низ директно објекту низа користећи = оператор који резултира копирањем садржаја низа знакова у објект низа.
Закључак
Видели смо разне методе за претварање једног карактера као и низова знакова у низ објеката. С обзиром да класа стд :: стринг има много функција које нам омогућавају ефикасно манипулисање низовима, увек је корисно радити са подацима о знаковима претварајући их прво у низове.
Даље читање = >> Претворите Цхар у Инт на Јави
Даље читање = >> Претвори Цхар у Стринг на Јави
Такође можемо користити методе класе за претварање података о знаковима у низове. У овом случају прво убацујемо податке у ток, а затим записујемо овај бафер у објект низа.
У нашим следећим водичима детаљно ћемо размотрити класу стрингстреам и више функција библиотеке у Ц ++.
=> Погледајте овде да бисте видели А-З Ц ++ туторијала за обуку.
Препоручено читање
- Питхон стринг функције
- Јава Стринг са Стринг Буффер-ом и Стринг Буилдер Туториал
- Функције класификације и трансформације знакова Ц ++
- ВБСцрипт функције низа: ВБСцрипт инСтр, функције замене, средине и обрезивања
- Питхон Стринг Сплит Туториал
- Водич за стрингове Ц # - Методе низања са примерима кода
- Низови у Ц ++ са примерима
- Функције библиотеке на Ц ++