Knižnica string.h

Zdroj
ručne priradené
Pridané

Pozrieť na YouTube →

Preber si túto prednášku so svojou AI

Skopíruj pripravený podklad a vlož ho do ChatGPT, Claude alebo inej AI — bude ťa učiť alebo skúšať len z tejto prednášky.

Otvoriť AI: ChatGPT · Claude · Gemini

Zhrnutie prednášky

Prednáška vysvetľuje, prečo v jazyku C nemožno reťazce (polia znakov ukončené znakom '\0') porovnávať operátorom == ani kopírovať priradením, a predstavuje štandardnú knižnicu string.h. Na príklade s podmienkou if sa ukazuje, že priame porovnanie premennej s textovým literálom porovnáva adresy, nie obsah, a preto program vypíše nesprávnu vetvu. Riešením sú funkcie knižnice: strcmp na porovnanie, strcpy na kopírovanie, strlen na zistenie dĺžky a strstr na vyhľadanie podreťazca. Funkcia strcmp vracia 0 pri zhode, záporné alebo kladné číslo podľa lexikografického poradia. Funkcia strlen nezapočítava ukončovací nulový znak a strstr vracia reťazec od prvého nájdeného výskytu.

  • - Reťazce v C sú polia znakov ukončené znakom '\0'.
  • - Operátor == na reťazcoch porovnáva adresy, nie obsah, preto nefunguje správne.
  • - strcmp(str1, str2) vráti 0 pri zhode, záporné číslo ak je str1 menší, kladné ak je väčší.
  • - Priradenie meno2 = meno1 pri poliach nefunguje, na kopírovanie sa používa strcpy(cieľ, zdroj).
  • - strlen vráti počet znakov bez ukončovacieho nulového znaku.
  • - strstr(haystack, needle) hľadá podreťazec a vráti zvyšok reťazca od prvého výskytu, alebo nič (NULL), ak sa nenachádza.
  • - Najdôležitejšie funkcie z string.h sú strcmp, strcpy a strlen.

Zhrnutie pripravené s pomocou AI z prepisu videa.