Bună ziua și bun venit în această prelegere Vreau să încep să vorbesc despre funcțiile de șir am menționat mai devreme
că șiruri de caractere de caractere nu sunt tip de tip variabil de tip în C, astfel încât să puteți folosi oricare dintre operatori, dar tot va trebui să fie în măsură să facă o mulțime de
lucruri pe șiruriile pe care le vei face de la ei le
diminuezi că vei dori să dai lungimea pe care vrei să le comparăm cu tot felul de lucruri, probabil,
să le convertești.
Deci, din fericire, biblioteca standard vine cu o grămadă de funcții pe care le puteți utiliza pentru a efectua
aceste tipuri de operațiuni.
Vreau să încep să vorbesc despre unele dintre cele mai des întâlnite și
apoi să trecem la unele mai specifice și alte prelegeri.
Așadar, știm deja că un șir de caractere este un caracter un terminal printr-o caractere caracter caracter nule
sunt utilizate în mod obișnuit în programele C.
C Din fericire oferă multe funcții special concepute pentru a lucra cu șiruri de caractere.
Cele pe care le vom discuta sunt cele mai obișnuite pe care le veți folosi mai
întâi pentru a obține lungimea unui șir utilizând funcția lungime STR care copiază un șir de caractere la altul.
Amintiți-vă că v-am spus mai devreme că nu puteți folosi operatorul de atribuire să taie pentru a atribui un șir.
Deci, ceea ce faceți este să utilizați sau să copiați sau să stocați și să copiați, de asemenea, combinarea a două șiruri de caractere împreună concatenare.
Există o mișcare într-o pupa.
Și determinând dacă două șiruri de caractere sunt egale din nou, egalitatea este egală cu operatorii care nu
vor lucra pentru compararea șirurilor deoarece sunt o rasă.
Deci, dacă doriți să comparați șiruri de caractere, trebuie să utilizați funcțiile speciale furnizate
de biblioteca C Sturk compara și str și comparați.
Mai întâi să vorbim despre lungime.
Toate aceste funcții sunt definite în șirul de caractere care urmează fiecare literă, astfel încât trebuie să includeți că atunci când
apelați sau invoca una dintre aceste funcții.
Câștigând lungimea unui șir Stirling's este o funcție care găsește lungimea șirului
este destul de simplu că tocmai sa transformat ca o variabilă de dimensiune.
Puteți utiliza destul de mult dimensiunea variabilă interschimbabil cu un int, dar mai întâi va trebui să includă acel
fișier antet șir, dacă doriți să utilizați Stirling's.
Și așa îl folosiți.
În principiu, creați un literal șir în interiorul ghilimelelor duale și le atribuiți unui personaj.
Nu specificați să specificați mărimea caracterului sau un compilator face
acest lucru pentru dvs. atunci când adăugați terminatorul null Odată ce ați definit șirul meu și cu o constantă string
veți putea să-l sunați pe Stirling și să treacă doar la acel caracter.
Destul de dragut.
Este unul dintre cele mai des folosite, deoarece de cele mai multe ori doriți să obțineți această lungime a unui șir atunci
când faceți verificări de validare sau ceva cu adevărat dacă doriți să vă asigurați că nu există nici o depășire de tampon pe care să o puteți
face și ea.
Această funcție nu modifică șirul.
Deci, antetul funcției nu utilizează constanta în declararea șirului de parametru formal.
Dacă ar fi să te uiți la șirul de puncte H din interiorul tău știi să folosești sau
să includeți în directorul tău veți vedea că nu este definit ca un șir de copiere constantă copierea șirurilor fie modifică un șir existent modificând
caracterul existent care are unele date în el sau dacă nu are nimic în ea, vreți
să puneți ceva acolo.
Deoarece nu puteți atribui matrice în C, nu puteți atribui șiruri de caractere.
Am menționat acest lucru anunțând mai devreme un personaj și apoi folosind operatorul de asignare
egală nu funcționează.
Deci, ceea ce trebuie să faceți este să utilizați funcția de copiere a magazinului pentru a copia un șir într-un șir existent.
Este echivalentul unui operator pentru operatorul de atribuire a șirurilor de caractere.
Dacă declarăm două caractere o sursă și o destinație.
Tot ce trebuie să facem este să spunem sursa de copiere Sturr și apoi, indiferent de sursa de
acolo, putem pune șirul și același lucru cu destinația.
De asemenea, puteți pune variabile acolo, dacă doriți să le copiați.
Dar ceea ce facem aici este primul parametru este acela în care copiați la
al doilea parametru este șirul pe care îl copiați, astfel încât sursa ar avea această sursă în interiorul acesteia.
După ce destinația sau biroul de copiere Star va avea destinația în interiorul acestuia după apelul de recopulare, funcția de copiere nu
verifică dacă șirul sursă se potrivește de fapt în povestea țintă.
Deci, ce s-ar întâmpla dacă ai avea un șir mare.
Deci, în acest exemplu anterioară, ce s-ar întâmpla dacă destinația avea o sută de caractere în ea și în
loc să aibă destinația aceasta, avea 100 de caractere.
Acesta este destinul.
Destiny a încercat să o copieze într-o sursă la doar 50 de caractere.
Va exista o problemă.
Șirul destinație ar fi mai mare decât sursa în timpul copiei.
Chiar dacă am încercat să copiem strt copy în sursă în loc să o copiem ca sursă pe care
am pus-o în sursă de cinci ori sau de 10 ori, indiferent de ce este, și dacă am depășit 50, ar fi un aer și o voi demonstra.
Deci, un mod mai sigur de a face corzile de copiere este copia pupa pe care o cunoașteți este că
o copie distorsionată copie Stern distorsionată ia un al treilea argument numărul maxim de caractere de copiat.
Deci, aici specificați cât de mult doriți să copiați.
Deci, dacă aveți o sursă de 40 și o destinație de 12 dimensiuni, puteți să o faceți mai întâi
AMSAT care doar stabilește dimensiunea datelor din interiorul unei destinații la Terminatorii nul.
În acest fel, atunci când adăugați ceva, veți fi în mod automat acolo nu vă faceți griji despre asta.
Copia strt va copia Bună ziua cum faci la sursă și nu va verifica dacă Bună ziua
cum faci mai mare decât sursa.
Dar dacă faceți oa treia copie și copiați într-o destinație, va copia
sursa și va copia doar primele 10 caractere, astfel încât al treilea argument să corespundă dimensiunii destinației.
Doar ca sa inceapa sa blocheze codul si sa se uite la lungimea Sturr si sa se uite la siruri de
copiere pentru a vedea exact cum functioneaza.
Deci suntem noi, avem principalul nostru rol.
Și pentru a obține șirul de lungime a șirului este într-adevăr doar vom crea matricea noastră de caractere.
Vrem să creăm un personaj pe care nu dorim să-l specificăm, dar trebuie să introducem
primul nume și apoi parantezele.
Și apoi îl putem inițializa cu ceea ce dorim să spunem în interiorul citatelor duble. Citatele duble reprezintă
literale de șir.
Deci pot spune că știi că numele meu este Jason.
Rezultatul final al acestui lucru este cel ce va fi creat că va fi o matrice de dimensiune 1 2 3
4 5 6 17 caractere toate aceste caractere plus terminatorul nul nu terminator este lombarul din spate.
Nu trebuie să puneți chestia asta, deoarece este adăugată automat de compilator.
Așa putem inițializa și crea un șir într-o matrice de caractere, apoi să-l tipărim.
Tot ce trebuie să facem este să spunem că printul spune că lungimea este și apoi am pus pasul procentual ca specificator
de format.
Pentru a afișa un șir și apoi tot ce facem este să spunem numele
șirului și Tanaka confuză să spunem doar șirul meu și nu trebuie să folosim ampersandul așa cum am făcut-o anterior.
Exemple anterioare putem spune mister.
Dacă compilam și executăm acest lucru, este posibil să ne asigurăm că vom include și antetul de șir când compilam
și executăm acest lucru.
Veți vedea lungimea șirului.
Deci, link-ul este în am făcut call mișcare lungime șir.
Deci, trebuie să apelați funcția dacă doriți să afișați linkul.
Deci, faci ceva de genul ăsta.
Puneți șirul în Sterling.
Acum, atunci când o executați, veți vedea de fapt lungimea șirului pentru a vă asigura.
O.K.
Și am uitat să-i răspândesc o parte
din intimitatea ei și acum se plânge că nu trebuie să fie un șir, ci un adevărat.
Deci așa aș arăta șirul dacă vreau să afișez lungimea șirului.
Fac procent D.
Apelați funcția.
Acum când o execut, veți observa că imprimă de fapt 16 care este legătura.
Deci, este o funcție destul de ușoară de a utiliza sterling dacă doriți să copiați șiruri pe care începeți să le comparați
și doriți să utilizați Sturk pentru a specifica efectiv octeții.
Așa că aici, dacă avem numele meu este Jason și apoi vom crea un alt șir.
De fapt, vom continua să păstrăm că nu vom mai specifica ce vom face.
Vom spune să creăm un alt șir numit 10 și va fi egal cu agitația și compararea.
Vom trece în ceea ce vrem să copiem.
Deci, de fapt, fac doar acest lucru creând doar o matrice de caractere goale și o să facem doar o
dimensiune de 50.
Și ceea ce vom face aici este că vom spune Stern compara.
Așa că am început să copiez C-p de ce primul parametru este locul în care vrem să copiem spunem temp.
Al doilea parametru este tot ce vrem să copiem care este șirul meu.
Și apoi nu vrem să trecem în mai mult de 50 de octeți, așa că putem spune că mărimea tind să spunem că nu vrem să trecem în mai mult
de 50 octeți și probabil că vrei să faci minus unul pentru terminatorul nul.
Și în acest fel acest al treilea parametru este foarte important pentru că nu vom avea niciodată depășiri de tampon.
Ar trebui întotdeauna să comparăți ani și să nu vă amestecați sau să copiați copia Napster.
Apoi, aici putem afișa șirul nostru pentru a vedea dacă a fost copiat și ar putea spune că timpul se
va schimba la alt procent.
Și când construim acest lucru nu ar trebui să vedem link-ul pe care ar trebui să-l vedem că șirul este ceva de genul
ăsta și sa încheiat cu un semi-colon.
Vom merge acolo.
Acum ar trebui să ne compilam noi.
Acum am fost pe ea ar trebui să vedem doar șirul nostru care a
fost copiat a fost și așa vedem.
Numele meu este Jason și care este stocat în interiorul temp pentru că am imprimat Tim.
Dar întotdeauna ați început să copiați nu păstrați o copie care să vă asigure că acestea nu tampon overflows.
Și al treilea parametru ar trebui să fie întotdeauna sursa nu sau îmi pare rău destinația nu
sursa destinației.
Ar fi inutil să spunem Copiați întregul șir de caractere, deoarece dacă acest lucru este mai mic, veți avea o problemă.
Deci, întotdeauna spun mărimea acestui lucru și tu vezi că poți folosi dimensiunea operatorului pentru a vedea câte
octeți sunt în interiorul dreptului de
caractere.
Să vorbim despre câteva funcții.
Știm cum să obținem linkul pe care știm cum să copiem șiruri de caractere.
Cât despre colorații de concatenare.
Funcția Sturckow ia două argumente ca șiruri de două șiruri și copiază sirul de al doilea
sir la sfârșitul primului al doilea șir este acum modificat, numai primul va returna valoarea primului său argument, adresa primului caracter
al șirului care este atașat cel de-al doilea șir, așa că returnează ceva care vă
spune unde ați adăugat-o, dacă ați fi nevoie vreodată să o utilizați.
Deci, iată un exemplu.
Creăm un șir de caractere al șirului meu și conține doar șirul meu după terminatorul nul.
Sau creați un șir de caractere de intrare care este 80 gol.
Spunem că introduceți un șir care să fie concatenat.
Am citit-o și apoi l-am concatenat.
Imprimăm șirul original urmat de amestecarea concatenată și apoi intrarea.
Deci, după ce ați introdus tot ce ați introdus, veți fi pus la capătul Enter al șirului meu.
Deci, dacă îi răspundeți lui Jason, acesta va fi șirul meu de spațiu.
Jason, asta e ceea ce șirul meu va fi egal cu pentru că tu faci un capac pe ea.
Așa că nu am făcut nimic aici.
Aici este chiar aici.
Mai intai vom imprima sirul si apoi vom suna pisica noastra.
Intrarea va fi de fapt egală cu ceea ce a fost în șirul meu urmat de ceea ce a fost introdus de
Mogo prin exemplul său și SUA-Marea Britanie.
Acum, la fel ca Str.
Copie Sturckow are, de asemenea, o pupa și capac.
Deci, versiunea combinată devine primul inel nou.
Ei bine, diapozitivele mele continuă să fie încurcate.
Am verificat-o dublu și ei încă mai trebuie să devin tot mai bine PowerPoint.
Deci, la fel ca tu chiar cu STR pisica exista o pisica pisica agitata pisica are aceeasi problema exista
o copie.
El poate avea o suprapunere de tampon.
De fapt, asigurați-vă că al doilea șir se va potrivi în primul rând.
Deci, dacă nu aveți spațiu suficient în acea primă matrice, puteți rula probleme de depășire a tamponului.
Deci, ce vrei să folosești un capac din pupa.
Al doilea argument indică numărul maxim de caractere adăugate.
Deci, de exemplu, dacă faceți oa treia pisică și două mlaștini de coarde și adăugați pe ea doar va adăuga primele
13 de caractere de a adăuga la bug-uri.
Depinde care vine mai întâi dacă este deloc mai mic decât 13, dar se va adăuga numai la locurile tale.
Nu terminatorul nul.
Astfel, în acest exemplu, creați două șiruri.
Aceasta este sursa acestei națiuni pe care o facem o pupa doar copiind 15 caractere în destinație la
sfârșit.
Deci, indiferent de mărimea destinației, va fi mărimea destinației plus 50 și apoi vom imprima.
Deci, haideți să ne uităm la asta și blocurile de coduri din nou.
Deci, aici suntem exemplul nostru și vom crea două șiruri de caractere sau o dimensiune 50
cu cealaltă dimensiune 50.
Vom începe să stocăm copii pentru a le seta la date.
Acestea sunt sursele destinației.
Apoi, pe 12, facem pisica pufoasă, iar destinația va fi ceea ce putem face și noi.
Deci, sursa va fi ceea ce vom obține academie și vom aloca doar 15 caractere.
Deci, dacă sursa era mai mare de 15, nu le-am copia pe toate.
Așa că atunci când construim acest lucru și îl executăm, veți vedea că acum spune că acest lucru
se datorează căderii prin faptul că pământul va spune că acest lucru este căderea destinației de către această sursă.
Deci se spune că aceasta este destinația aceasta este sursa pe care a concatenat acea linie până la sfârșitul destinației.
Întotdeauna doriți să utilizați capacul Stern pentru concatenare, astfel încât să nu aveți depășiri de tampon.
Hai să vorbim despre compararea lui str pentru a păstra în mod accidental spunând în loc de copie stea Sturr compara.
Deci, pentru compararea șirurilor, trebuie să folosim și o funcție dacă doriți să comparați un șir cu altul.
Nu puteți folosi dublu egal care verifică numai pentru referințe dacă aveți sau nu aceeași adresă.
Deci, ceea ce trebuie să utilizați este str compar.
Aceasta va compara conținutul șirului.
Nu întotdeauna.
Nu compară matricele astfel încât să poată fi folosit pentru a compara șirul stocat în mese de dimensiuni diferite.
Nu compară caracterele.
Puteți utiliza argumente, cum ar fi merele și a în ghilimele duble, dar nu puteți utiliza argumente de caractere,
cum ar fi un singur caracter.
Hei, această funcție are pentru stringuri ce fac operatorii relaționali pentru numere.
Așa că funcția de comparare va reveni la o valoare care vă spune dacă șirul este
egal dacă este mai mare sau dacă este mai mic decât dacă este egal se va întoarce 0 dacă este pierdut și va reveni
mai puțin de zero dacă str pe este mai mică decât Str la și este al treilea la este mai mică decât Str o
va reveni mai mare decât zero.
Deci, ce anume înseamnă asta.
Permiteți-mi să vă dau un exemplu despre cum funcționează acest lucru.
Să punem acest lucru în blocurile de cod și să îl executăm, dar aici facem o grămadă de comparații și vă vom
spune care sunt valorile dacă sunt mai puțin decât mai mari decât pentru că nu este foarte clar.
Deci haideți să luăm acest lucru și să ne uităm la el în blocuri de coduri.
Deci, iată exemplul nostru și comparăm o grămadă de șiruri de caractere și apoi afișează rezultatele
STR compara dacă este o dorință zero sau orice altceva.
Deci, dacă comparați două STR-uri cu două șiruri de caractere.
Trebuie să fie în ghilimele duble.
Și ceea ce vedeți aici ceea ce facem este să subliniem ceea ce sunăm.
Așadar, am delimitat cauza pe care o punem înapoi, pentru a imprima de fapt un caracter de cotă
și nu sfârșește șirul.
Dar dacă vom compara AAA, ar trebui să returneze 0, deoarece 0 înseamnă că șiruri de caractere sunt egale.
Dacă comparăm a și b str compararea ar trebui să se întoarcă mai puțin decât cauza a este mai mică decât B B A ar trebui să returneze o valoare mai
mare decât zero.
Să trecem prin asta.
Asigurați-vă că nu fac greșeli și că o vom vedea efectiv la ieșire.
Deci, rulați acest lucru și acest lucru vă ajută să vă amintiți ce numere vor fi returnate.
Atunci când comparați a și a.
Veți obține de fapt zero dacă ați compara a și b b este mai mică decât a.
Deci este o lecție negativă sau le-aș fi spus contrariul.
Deci chiar și eu le confund încă pentru că A este mai mare decât B este mai mare decât a fi negativă 1 B este mai mică
decât a.
Deci, obțineți ceva mai mare decât zero, care este 1.
Vezi este mai mare decât se spune că ai primit unul sau doar că nu-i place o B era mai mare decât asta.
Și apoi comparați majuscule și litere mici.
Când comparăți majuscule și majuscule, inversul Z este de fapt mai mic decât literele mici.
Deci, capitalul este întotdeauna mai mic decât puțin.
Dacă încercați să comparați merele și merele, va fi una pentru că Apple este mai mică decât merele.
Și așa funcționează comparațiile.
Este important să înțelegeți valoarea zero mai mare de 1 sau mai mică de 1.
Din nou, mai puțin de zero va spune că primul șir este ultimul, apoi al doilea șir.
Și mai mare decât zero va spune că primul inel este mai mare decât al doilea șir.
Această funcție este foarte ușor de utilizat.
Nu trebuie să vă faceți griji cu privire la orice tip de TR și să comparați deoarece nu
contează dimensiunea matricelor pe care o comparați cu compararea funcției stern compara forțele până când găsesc
caracterele corespunzătoare care diferă.
Deci, ar putea fi până la sfârșitul unuia dintre filamentele de comparare a fișierelor Stern compară șirurile până când acestea
diferă sau până când se compară cu caracterele numerice specificate de al treilea argument.
Deci, în acest caz nu este necesar să utilizați compararea a treia pentru depășirea tamponului.
Există, dar ați putea folosi doar dacă doriți doar să comparați un anumit număr de
caractere pe care le folosește diferit decât copia STR sau copia pupatorului sau pupa poate compara cu pupa doar spune că am
vrut doar acest joc atât de multe personaje așa ar fi util dacă sunteți în căutarea unui prefix.
Deci, dacă doriți să căutați șiruri care încep cu Astro, puteți limita căutarea la
primele cinci caractere.
Și ai începe Capetul ăsta.
Deci, acest exemplu ar fi de fapt și vom vedea că vedeți că spunem că egalul este egal cu zero.
Adesea vedeți o instrucțiune if atunci când utilizați str compare.
Vedeți că începe să se compară în interiorul declarației sale și este egal cu egal cu zero pentru a spune
că este egal atât de severă compara utilizările primelor cinci personaje compară Astro cu primele cinci personaje ale astronomiei.
Va spune că a descoperit că este egal cu zero și va spune că a găsit
astronomie dacă faci același lucru, dar comparându-l cu diferența în timpul apelului uluitor.
Nu o să găsească faptul că de fapt va putea să afișeze că va spune că uimirea este mai
mare decât Astro Deci va afișa ceva mai mare decât zero care este 1
și nu va afișa niciun fel de date.
Deci, comparați Sturk atunci când comparăți șiruri de caractere pentru tot conținutul folosit comparați a treia când
doriți doar să comparați un prefix cu un șir.
Același tip de sintaxă sau începeți aici doar acel al treilea argument.
Așa că am vorbit despre multe despre unele funcții cu adevărat importante pe
care le vom folosi în principal stropirea StarLink Stern copie Stern pisică și strt compare.
Vom avea o provocare bine că trebuie să utilizați aceste funcții care vă vor familiariza, dar veți deveni
cu adevărat familiarizați cu acest lucru pentru că veți merge să le
folosiți mereu și repetat.
Mulțumesc.