Kā lietot C ++ String Literal

How Use C String Literal



Datora tastatūrā ir iespiestas rakstzīmes. Nospiežot taustiņu, ekrānā redzat rakstzīmi. Piezīme: atstarpe ir arī rakstzīme. Virknes literālis ir rakstzīmju secība. Šajā rakstā ir paskaidrots, kā izmantot C ++ virkņu literāļus. Lai saprastu šo rakstu, jums jāzina par C ++ masīviem un rādītājiem.

Rakstzīmju burtiski

Rakstzīmju literālis ir rakstzīme atsevišķās pēdiņās. Tātad,







charidentitāte1= 'TO'; charident2= 'b'; charident3= '4'; charident4= “6”;

visas ir atšķirīgas rakstzīmju definīcijas. Ņemiet vērā, ka cipars atsevišķās pēdiņās ir rakstzīme, nevis vesels skaitlis.



Bēgšanas secība, piemēram, (skatīt zemāk) atsevišķās pēdiņās, ir rakstzīme. Tātad,



charidentitāte1= '' ';

ir raksturs.





Viens simbols pēdiņās nav rakstzīme; tā ir vienas rakstzīmes virkne. Tātad A vai c vai 2 nav rakstzīme, bet ir virkne ar vienu rakstzīmi katrā.

Ogļu mainīgo var mainīt, vēlāk programmā, šādi:



charidentitāte= 'x';
identitāte= 'UN';

Lai apturētu identifikatoram piešķirtās rakstzīmes maiņu, vēlāk programmā, pirms definīcijas ar rezervēto vārdu const, rīkojieties šādi:

konst charidentitāte= 'd';

Tiek apgalvots, ka mainīgais ident ir tikai lasāms.

Stīgu burtiski

Virkņu burtnīca ir rakstzīmju secība pēdiņās. Tātad,

charidentitāte1[] = 'Es mīlu Tevi'; charident2[] = 'Es ienīstu 3 no jums'; charident3[]
= 'mēs esam pasaule'; charident4[] = 'Sveika pasaule!';

visas ir dažādas virkņu literāru definīcijas. Ņemiet vērā, ka tiek izmantotas pēdiņas. Virknei nav nekā līdzīga parastajam mainīgajam. Virkņu literālis ir rakstzīmju masīvs, kur tā vietā, lai norobežotu ar {}, secība tiek norobežota ar. Atzīmes nav atdalītas ar komatiem. Kvadrātiekavās var ievietot jebkuru skaitli, kas lielāks par rakstzīmju skaitu burtu burtā. Tomēr kvadrātiekavas labāk atstāt tukšas.

Viena rakstzīme pēdiņās nav rakstzīme; tā ir vienas rakstzīmes virkne. Tātad A vai c vai 2 nav rakstzīme, bet virkne ar vienu rakstzīmi katrā.

Virkņu mainīgais neļauj atkārtoti piešķirt pilnīgu literālu, vēlāk programmā-skatīt zemāk. Tomēr atsevišķas rakstzīmes var piešķirt no jauna-skatīt zemāk.

Viens un divkāršs citāts rakstzīmēs vai burtiski

Lai personāžam būtu viens citāts, rīkojieties šādi:

charidentitāte= ' '';

Lai rakstzīmju virknē būtu divkāršs citāts, rīkojieties šādi:

charidentitāte[] = 'prom'CD';

Slīpsvītra tiek izmantota aizbēgšanas secībā, lai izvairītos no konfliktiem ar norobežotājiem. Lai kā rakstzīme būtu citāts, nav nepieciešams slīpsvītra: ‘’ ir labi. Lai virknē būtu viens citāts, nav nepieciešams slīpsvītra: ab’cd ir kārtībā.

Tā kā slīpsvītra tiek izmantota, lai aizbēgtu no rakstzīmes, to jāizmanto ar citu slīpsvītru, ja to izmanto kā rakstzīmi vai burtu burtā.

Bēgšanas secība

Bēgšanas secība ir viena no šīm darbībām:

''? \ uz b f n r> t v

Katra aizbēgšanas secība parasti tiek ierakstīta vai nu kā rakstzīme atsevišķās pēdiņās, vai kā aizbēgšanas secība pēdiņās.

  • ’: Tiek izmantots kā viens pēdiņu simbols atsevišķās pēdiņās.
  • : tiek lietots kā pēdiņu rakstzīme burtiskā burtā.
  • ? : kopš? ir rezervēts raksturs, no tā jāizvairās burtiski.
  • \: atpakaļvērstā slīpsvītra jāizņem kā rakstzīme vai burtu virkne, lai nerastos cita nozīme.
  • a: vienreiz atskan trauksmes zvans, ja to izmanto kā rakstzīmi vai burtu burtā.
  • b: tiek parādīts kā atpakaļatkāpe displejā virkņu literālā formā, noņemot iepriekšējo rakstzīmi.
  • f: izraisa nākamās lapas padevi printerim, ja to izmanto kā rakstzīmi vai burtu.
  • r: atgriež kursoru, kur tiks drukāta nākamā rakstzīme, bet pašreizējā rindā.
  • n: atgriež kursoru uz nākamās rindas sākumu vai tikai uz nākamo rindu, atkarībā no operētājsistēmas.
  • t: izveido horizontālu cilni.
  • v: izveido vertikālu cilni.

Operācijas ar rakstzīmēm

Saskaņošana

Pēc definīcijas divus virkņu literālus var savienot ar atstarpi šādi:

charidentitāte[] = 'abc' 'def';
izmaksas<<identitāte<< ' n';

Rezultāts ir: abcdef. Šo definīciju var attiecināt uz vairāk nekā diviem burtiem. Piezīme: paziņojums ir definīcija, nevis tikai uzdevums. Definīciju var pat turpināt līdz nākamajai rindai ar atstarpi, kas atdala līnijas šādi:

charidentitāte[] = 'abc' 'def'
'ņemt vērā';
izmaksas<<identitāte<< ' n';

Rezultāts ir abcdefghi.

Piezīme. Rakstzīmes nevar savienot šādā veidā, jo rakstzīmes atsevišķos pēdiņās nedrīkst būt vairāk par vienu simbolu.

Vienlīdzības operatori

Tās pašas rakstzīmes vienā un tajā pašā gadījumā ir vienādas. Tie nav vienādi, ja tie nav viens un tas pats gadījums. Apsveriet,

bool rezultāts= “B” == “B”;
izmaksas<<rezultāts<< ' n';

== nozīmē vienāds, bet = nozīmē-piešķirts un nav vienāds. Rezultāts ir 1, lai iegūtu patiesību. Apsveriet,

bool rezultāts= “B” == 'b';
izmaksas<<rezultāts<< ' n';

Izeja ir 0, ja ir nepatiesa. Apsveriet,

bool rezultāts= 'b' == 'c';
izmaksas<<rezultāts<< ' n';

Izeja ir 0, ja ir nepatiesa. Apsveriet,

bool rezultāts= “B” ! = “B”;
izmaksas<<rezultāts<< ' n';

! = nozīmē nav vienāds, bet = nozīmē, ka ir piešķirts un nav vienāds. Izeja ir 0, ja ir nepatiesa. Apsveriet,

bool rezultāts= “B” ! = 'b';
izmaksas<<rezultāts<< ' n';

Rezultāts ir 1, lai iegūtu patiesību. Apsveriet,

bool rezultāts= 'b' ! = 'c';
izmaksas<<rezultāts<< ' n';

Rezultāts ir 1, lai iegūtu patiesību.

Tātad, == un! = Ir vienlīdzības operatori.

Attiecību operatori

Parastajām C ++ rakstzīmēm augošā secībā cipari ir pirms lielajiem burtiem, bet pirms mazajiem burtiem.

Tātad= ir līdzīgi izskaidroti.

Stīgu literārs kā objekts

Masīvs ir pastāvīgs rādītājs uz konkrēta datu tipa secības sākumu. Līdzīgi virkne ir pastāvīgs rādītājs rakstzīmju secības sākumam. Salīdziniet šādas definīcijas:

intarr[] = {3, 4, 5, 6, 7};
charlpp[] = {'in', 'vai', 'es', 'uz', 'n'};
charstri[] = 'sieviete';

Pirmais masīvs ir intu masīvs, un tam ir pieci elementi. Otrais un trešais masīvs ir rakstzīmju masīvi ar dažādiem nosaukumiem, bet vienāds elementu skaits. Otrais un trešais masīvs ir vienāds, bet to nosaukumiem. Otrā masīva teksta saturs ir norobežots ar lencēm; rakstzīmes ir atdalītas ar komatiem, un katra rakstzīme ir pēdiņās. Trešā masīva teksta saturs ir norobežots ar pēdiņām; rakstzīmes nav atdalītas ar komatiem, un katra rakstzīme nav iekļauta pēdiņās. Otrais un trešais masīvs ir divi virknes veidošanas veidi, bet trešais veids ir labāks.

arr ir pastāvīgs rādītājs uz tā masīva pirmo elementu, kas nozīmē, ka arr vienmēr norādīs uz vietu, kurai ir vesels skaitlis 3, pat ja tiek mainīta 3 vērtība. Masīva lielums, pieci elementi, patiesībā nepaliek nemainīgs. Tomēr katru no masīva vērtībām var mainīt.

str ir pastāvīgs rādītājs uz tā masīva pirmo elementu, kas nozīmē, ka str vienmēr norādīs uz vietu ar rakstzīmi “w”, pat ja tiek mainīta “w” vērtība. Rakstzīmju masīva lielums, pieci elementi, patiesībā nepaliek nemainīgs. Tomēr katru no burtiskā vārda vērtībām var mainīt.

stri ir pastāvīgs rādītājs uz tā burtiskā (masīva) pirmo elementu, kas nozīmē, ka stri vienmēr norādīs uz vietu, kurai ir rakstzīme w, pat ja w vērtība tiek mainīta. Stīgu burtu (masīva) lielums, pieci elementi, patiesībā nepaliek nemainīgs. Tomēr katru no literāļa vērtībām var mainīt.

Kas ir nemainīgs masīvā vai virknes literārā? Masīva vai literāļa pirmā elementa atmiņas adrese paliek kā masīva vai literārā vārda (identifikatora) vērtība, un to nevar mainīt. Masīva vai burtiskā lielums patiesībā nepaliek nemainīgs. Katru masīva vai burtiskā vērtību var mainīt. Šis kods parāda, kā ir mainīts katra masīva ceturtais elements:

intarr[] = {3, 4, 5, 6, 7};
charlpp[] = {'in', 'vai', 'es', 'uz', 'n'};
charstri[] = 'sieviete';

arr[3] = 9;
lpp[3] = 'Un';
stri[3] = 'Un';

izmaksas<<arr[3] << ' n';
izmaksas<<lpp<< ' n';
izmaksas<<stri<< ' n';

Rezultāts ir šāds:

9
sievietes
sievietes

Ņemiet vērā, ka definētas virknes literāļa elementiem, piemēram, iepriekš minētajai trešajai definīcijai, var piekļūt, izmantojot masīva indeksu (apakšindeksu). Izejas otrās rindas iemesls ir norādīts zemāk.

Definīcijas apakšindekss

Ņemiet vērā, ka iepriekš minētajās definīcijās apakšindeksam nav vesela skaitļa. Ja programmētājs nevar viegli noteikt elementu skaitu, apakšindeksa veselu skaitli vajadzētu izlaist. Neatkarīgi no tā, vesels skaitlis nedrīkst būt mazāks par masīva elementu skaitu.

Virknes literālam veselam skaitlim jābūt vismaz 1 lielākam par virknes rakstzīmju skaitu. Tas ir tāpēc, ka sastādītājs vienmēr pievieno nulles rakstzīmi ( 0) masīva beigās, kas ir virkne, kas norobežota ar pēdiņām. Null rakstzīme netiek pievienota otrā masīva beigās iepriekš, jo tā nav oficiāla virkne. Trešais masīvs ir oficiāla virkne. Šis kods parāda minimālās indeksa vērtības.

intarr[5] = {3, 4, 5, 6, 7};
charlpp[5] = {'in', 'vai', 'es', 'uz', 'n'};
charstri[6] = 'sieviete';

Lai otro definīciju padarītu par oficiālu virkni, nulles rakstzīme jāpievieno šādi:

intarr[5] = {3, 4, 5, 6, 7};
charlpp[6] = {'in', 'vai', 'es', 'uz', 'n', ' 0'};
charstri[6] = 'sieviete';

Rezultātam tagad vajadzētu būt,

9
sievietes
sievietes

bez otrajām sievietēm. Ņemiet vērā, ka otrā masīva atbilstošais apakšindekss ir 6, nevis 5, kā tas bija.

Pastāvīgas literārās vērtības

Lai apturētu jebkuras rakstzīmes dubultās pēdiņās, kas piešķirtas identifikatoram, vēlāk programmā, pirms definīcijas ar rezervēto vārdu const, šādi:

konst charidentitāte[] = 'Es mīlu Tevi';

Operācijas ar stīgu literāliem

Vienlīdzības operācijas

Vienlīdzības operatori ir == un! =. Salīdzinot divu virkņu mainīgos (identifikatorus), tiek salīdzināti burtu rādītāji (adreses); tas ir nepareizi. Lai salīdzinātu virknes, literāri ir jāsalīdzina, kā norādīts šādā kodā:

bool rezultāts= 'sieviete' == 'sieviete';
izmaksas<<rezultāts<< ' n';

Rezultāts ir 1, lai iegūtu patiesību. Salīdzinājums tiek veikts vārdnīcas veidā, bet vispirms cipari augošā secībā pirms lielajiem burtiem, kas pirms mazajiem burtiem. Šāda koda izvade ir 0, ja tā ir nepatiesa.

bool rezultāts= 'sieviete' ! = 'sieviete';
izmaksas<<rezultāts<< ' n';

Relāciju operatori ar stīgu literāriem

Relāciju operatori nedarbojas ar virkņu literāliem.

Neapstrādāta stīgu literāra

Neapstrādāta virkņu literāle ļauj virkni parādīt kā drukātu, ignorējot aizbēgšanas secības un ievērojot jaunas rindas. Apsveriet šādu kodu:

charlpp[] =R'(abc\d efg viņš
klmn n'
'opq
pirmais) ';
izmaksas<< str << '
n';

Rezultāts ir šāds:

abc \ d efg viņš
klmn n'' opq
pirmais

Kodā neapstrādāta virkņu literāle sākas ar R, kam seko un (. Tas beidzas ar) un.

C ++ galveno stīgu literārie veidi

char

Ogļu tips ir sākotnējais C ++ tips, un rakstzīme parasti tiek saglabāta 8 bitos.

char16_t

Tas saglabā rakstzīmi 16 bitos.

char32_t

Tas saglabā rakstzīmi 32 bitos.

wchar_t

char16_t un char32_t ir plašas rakstzīmes. wchar_t ir plaša rakstzīme, kas ir patentēta un noteikta ieviešanai.

Secinājums

Rakstzīmju literālis ir viena rakstzīme atsevišķos pēdiņās. Bēgšanas secība ir rakstzīme, kas var būt arī atsevišķās pēdiņās. Virknes literāls ir rakstzīmju secība pēdiņās. Stīgu literāls ir rakstzīmju masīvs, kas beidzas ar 0. Vienlīdzības un relāciju operatori strādā ar rakstzīmju literāliem. Vienlīdzības operatori strādā ar virkņu literāliem, bet relāciju operatori nedarbojas ar virkņu literāriem. Rakstzīmju identifikatorus var izmantot salīdzinājumos, bet virkņu identifikatorus nevajadzētu izmantot salīdzinājumos. Neapstrādāta virkņu burtnīca ļauj parādīt virkni kā drukātu, ignorējot aizbēgšanas secības un ievērojot jaunas rindas.

Chrys