siruri de caractere într-un

șiruri de caractere stocate informații cum ar fi nume de fișiere, titluri de carte, numele angajaților și alte combinații de caractere. Cele mai multe programe în C ++ este utilizat pe scară largă șiruri de caractere. În continuare, veți afla că în siruri de caractere C ++ sunt stocate într-o matrice char, care se termină cu caracterul NULL (sau ASCII 0).

Diferența principală dintre șirurile de caractere și alte tipuri de matrice este ca C ++ indică ultimul element al matrice, un program C ++ reprezintă sfârșitul unui șir de caractere de un caracter NULL, care este portretizat ca un caracter special „\ 0“ în C ++. În cazul în care caracterele sunt atribuite un șir de caractere, trebuie să pui un caracter NULL ( „\ 0“) după ultimul caracter din șirul. De exemplu, următorul program ALPHABET. CPP atribuie o literă de la A la Z alfabet variabil, folosind o buclă. Se adaugă apoi un caracter NULL în această variabilă și o afișează folosind cout.

char alfabet [34]; // 33 caractere plus literă char NULL;

litere ++, index ++) alfabet [index] = literă;

cout <<"Буквы " <

Programul atribuie un șir de caractere NULL pentru a indica ultimul caracter al șirului:

Când cout flux de ieșire emite un șir de caractere, care va fi afișat o linie de caractere până când întâlnește simbolul NULL. Pe scurt, Symbol NULL spune programul ultimul caracter din șirul.

Notă bucla pentru, care apare în programul precedent. După cum puteți vedea, ciclul și inițializează două variabile crește (litere și index). Atunci când o buclă pentru inițializează sau crește numărul de variabile, se separă punctul de funcționare (virgulă este, de asemenea, un operator de C ++):

pentru (literă = 'A', index = 0; literă <= 'Я'; letter++, index++)

C ++ adaugă automat un constantele șir NULL

La crearea unui șir de caractere constante de compilator C ++ adaugă automat un caracter NULL, așa cum se arată în figura 1.

Fig. 1. C ++ compilator adaugă automat un caracter NULL constantele șir.

Când un program este de ieșire constante șir de caractere prin intermediul cout flux de ieșire, cout folosește simbolul NULL (care se adaugă la linia de compilator) pentru a determina ultimul simbol de ieșire.

Folosind caracterul NULL

Dacă utilizați un șir constant închise în ghilimele, compilator C ++ adaugă automat un caracter NULL. Cele mai multe funcții C ++ folosiți caracterul NULL pentru a determina ultimul caracter al șirului.

Următorul program de LOOPNULL.CPP modifică ușor programul anterior, folosind o buclă pentru a afișa conținutul șirului:

char alfabet [34]; // 33 caractere plus literă char NULL;

pentru (literă = 'A', index = 0; literă <= 'Я'; letter++, index++) alphabet[index] = letter;

pentru (index = 0; alfabet [index] 1 = NULL; index ++) cout <

Ciclul de o linie examinează simboluri. Dacă simbolul nu este NULL (nu ultimul caracter din șirul), indexul de simbol imprimă buclă crește, iar procesul continuă.

Ca „A“ este diferit de „A“

Simbol în termen de ghilimele simple este o constantă caracter. compilator C ++ emite doar un singur octet de memorie pentru a stoca o constantă caracter. Cu toate acestea caracter în ghilimele este o constantă șir - numitul simbol simbol NULL (adăugat de compilator). Astfel, compilatorul va aloca doi octeți pentru un șir de caractere. Figura 2 ilustrează modul în care un compilator C ++ stochează caracterul constant 'A' și un șir constant "A".

șir de caractere Inițializarea

char titlu [64] = "A învăța să program în limbajul C ++";

char titlu [] = "A învăța să program în C ++";

char titlu [64] = "A învăța să program în limbajul C ++";

Lecții char [64] = "șir de caractere";

cout <<"Книга: " < <p>cout <<"Урок: " <<lesson <<endl;</p> <p>Unele programe în restul cărții va inițializa șiruri de caractere într-un mod similar. Ia ceva timp pentru a experimenta cu acest program prin schimbarea caracterelor alocate fiecărei linii.</p> <p>linii de transfer funcționează în</p> <p>Funcția de transfer a șirului de caractere în transmiterea oricărei matrice similară ca parametru. In interiorul functiei, trebuie doar să specificați tipul de matrice (char) și suporturile din stânga și din dreapta ale șirului. Nu aveți nevoie să specificați dimensiunea șirului. De exemplu, următorul program utilizează funcția șir SHOW_STR.CPP show_ pentru a afișa șirul de caractere de pe ecran:</p> <p>void show_string (string char [])</p> <p>cout <<string <<endl;</p> <p>show_string ( "program de studiu in C ++");</p> <p>Funcția Show_string interpretează șirul de caractere parametru ca o matrice:</p> <p>void show_string (string char [])</p> <p>Deoarece simbolul NULL indică sfârșitul șirului, funcția nu are nevoie de nici un parametru care specifică numărul de elemente din matrice. În schimb, funcția poate determina ultimul element din matrice pur și simplu prin găsirea unui caracter NULL.</p> <p>funcții C ++ folosesc adesea caracterul NULL pentru a defini sfârșitul liniei. Următoarea STR_LEN.CPP creează o funcție numită STRING_LENGTH, care este în căutarea pentru un caracter NULL în șir pentru a determina numărul de caractere conținute în șir. În continuare, funcția utilizează declarația de retur pentru a reveni linia pentru a apela lungimea funcției. Programul transmite mai multe șiruri de caractere diferite, în funcție, afișarea lungimea fiecăreia dintre ele pe ecran:</p> <p>int STRING_LENGTH (string char [])</p> <p>pentru (i = 0 ;! string [] = '\ 0'; i ++);</p> <p>// Nimic de a face, dar du-te la</p> <p>// următorul întoarcere caracter (i); Lungimea liniei</p> <p>char titlu [] = "A învăța să program în C ++";</p> <p>lecție char [] = "șir de caractere";</p> <p>cout <<"Строка " <<title <<" содержит " <<string_length(title) <<" символов" <<endl;</p> <p>cout <<"Строка " <<lesson <<" содержит " <<string_length(lesson) <<" символов" <<endl;</p> <p>Funcția este pornit cu primul caracter al șirului (elementul 0), și apoi se examinează fiecare element până când se întâlnește NULL.</p> <p>Simbolul NULL este o ASCII 0. C ++ utilizează o valoare de simbol de la 0 pentru a reprezenta fals. Astfel, din moment ce simbolul NULL este 0, programul poate simplifica multe ciclu de funcționare. De exemplu, multe dintre funcțiile de navigare sunt caracter siruri de caractere pentru căutarea NULL. Următoarea pentru buclă ilustrează modul în care un program poate căuta NULL în linie:</p> <p>pentru (index = 0; string [index] = NULL ;! index ++)</p> <p>Deoarece caracterul NULL este 0, programul simplifică multe cicluri, care sunt în căutarea de NULL, după cum se arată mai jos:</p> <p>pentru (index = 0; string [index]; index ++);</p> <p>În acest caz, până când simbolul conținut în șir [index] nu este NULL (0 sau fals), ciclul continua.</p> <p>Folosind funcții șir de bibliotecă de execuție</p> <p>Cele mai multe compilatoare C ++ oferă un set extins de caracteristici, numit biblioteca runtime. Biblioteca runtime conține o mulțime de funcții diferite care manipuleaza siruri de caractere. De exemplu, funcția strupr convertește un șir de caractere pentru string majuscule. În mod similar, funcția strlen returnează numărul de caractere pe linie. Cele mai multe biblioteci de execuție chiar și oferă caracteristici care vă permit să vizualizați o linie în căutarea unui anumit caracter. De exemplu, următorul program ilustrează utilizarea STRUPR.CPP strupr funcții strlwr și biblioteci de rulare:</p> <p>// funcții strupr și strlwr</p> <p>char titlu [] = "A învăța să program în C ++";</p> <p>lecție char [] = "șir de caractere";</p> <p>cout <<"Верхний регистр: " <<strupr(title) <<endl;</p> <p>cout <<"Нижний регистр: " <<strlwr(lesson) <<endl;</p> <p>Utilizarea de funcții de bibliotecă, care manipula siruri de caractere poate salva timpul necesar pentru programare.</p> <p>Cele mai multe dintre funcțiile care manipuleaza siruri de caractere se bazează pe NULL ca la sfârșitul liniei. În cazul în care programul este atribuit un șir de caractere care vă asigura că acestea se adaugă un caracter NULL ca ultimul caracter al șirului. În cazul în care programul nu utilizează NULL, după caz, funcțiile care se bazează pe un caracter NULL se va abate.</p> <p>Un șir de caractere este un șir de caractere care se termină cu 0 (simbol NULL).</p> <p>caracterul NULL este plasat după ultimul caracter al șirului.</p> <p>Dacă programul utilizează un șir constant închise în ghilimele, compilator C ++ adaugă automat un caracter NULL.</p> <p>Cele mai multe compilatoare C ++ în bibliotecile lor de rulare oferă o gamă largă de funcții pentru manipularea siruri de caractere.</p> <h4>articole similare</h4> <ul> <li> <p><a href="/revista-37/date-caracter-1.html">Date Caracter 1</a></p> </li> <li> <p><a href="/revista-37/string-dictionar-de-termeni-literari-enciclopedia.html">String - Dicționar de termeni literari - Enciclopedia dicționare</a></p> </li> <li> <p><a href="/revista-37/bazele-de-lucru-cu-linia-de-comanda-in-ubuntu.html">Bazele de lucru cu linia de comandă în ubuntu</a></p> </li> </ul> <div class="vnizine"><p style="text-align: left;"><a href="/revista-37/un-om-singur-si-pisica-lui-singuratic.html">Pagina anterioară</a></p><p style="text-align: right;"><a href="/revista-37/de-ce-fetele-le-plac-tipii-skinny.html">Pagina următoare</a></p> </div> </article> </div> </div> </div> </div><footer class="akatita-footer clearfix"> <div class="akatita-content-layout layout-item-0"> <div class="akatita-content-layout-row"> <div class="akatita-layout-cell layout-item-1" style="width: 20%"> <p style="font-size: 18px; font-family: 'Times New Roman';">Articole aleatoare</p> <br> <ul> <li><a href="/utilizator-195/fapte-interesante-despre-mituri-si-luare-de-mita.html">Fapte interesante despre mituri și luare de mită</a></li> <li><a href="/utilizator-208/intreaga-familie-schwarzenegger.html">Întreaga familie Schwarzenegger</a></li> <li><a href="/utilizator-202/cele-mai-mari-25-de-animale-din-lume-a-caror.html">Cele mai mari 25 de animale din lume, a căror existență este greu de crezut</a></li> <li><a href="/utilizator-166/perii-pensule.html">Perii, pensule</a></li> <li><a href="/utilizator-119/jocul-farmaceutic-in-contact-tara-infloritoare-a.html">Jocul farmaceutic în contact - țara înfloritoare a fermelor</a></li> </ul> </div><div class="akatita-layout-cell layout-item-1" style="width: 20%"> <p style="font-size: 18px; font-family: 'Times New Roman';">locație</p> <br> <ul> <li><a href="/locul-pe-harta.html">Suntem pe hartă</a></li> <li><a href="/adresa.html">Adresa</a></li> </ul> <ol> <li><a href="/sitemap/sitemap204.html">sitemap</a></li> <li><a href="/sitemap/sitemap253.html">sitemap</a></li> <li><a href="/sitemap/sitemap532.html">sitemap</a></li> <li><a href="/sitemap/sitemap777.html">sitemap</a></li> <li><a href="/sitemap/sitemap924.html">sitemap</a></li> </ol> </div><div class="akatita-layout-cell layout-item-1" style="width: 20%"> <p style="font-size: 18px; font-family: 'Times New Roman';">Mai multe despre noi</p> <br> <ul> <li><a href="/contactati-ne.html">Contactați-ne</a></li> <li><a href="/despre-site.html">Despre site</a></li></ul> </ul> </div><div class="akatita-layout-cell layout-item-1" style="width: 40%"> <p style="text-align:right;"><a href="#"></a>Drepturi de autor © 2025. Toate drepturile rezervate.</p><br> <p style="text-align: right;"> <script> new Image().src = "https://counter.yadro.ru/hit;adolfru?r"+ escape(document.referrer)+((typeof(screen)=="undefined")?"": ";s"+screen.width+"*"+screen.height+"*"+(screen.colorDepth? screen.colorDepth:screen.pixelDepth))+";u"+escape(document.URL)+ ";h"+escape(document.title.substring(0,150))+ ";"+Math.random();</script> </p> </div> </div> </div> </footer> </div> </div></body> </html>