Mit csinál az strlen függvény? C++
1. Az strlen függvény a cstring fejállományban van.
2. Ahhoz, hogy manpage-t nézzen az ember, nem kell feltenni Linuxot, többnyire elérhető online is.
3. Ha már feltesz valaki egy Linuxot (bár nem értem, miért kéne), akkor tegye fel angolul, hogy azzal is tanuljon, no meg ha segítség kell, angolul nagyságrendekkel több találatot ad a gugli. Márpedig ha Linuxozni akar, szüksége lesz a segítségre.
Azt már tudom,hogy vissza adja az str hosszát és itt mit csinál?
string2[strlen(string1)] = '\0';
Azt írták nekem korábban,hogy a string2 olyan hosszúra deklarálja mint amilyen a string1 de ez nem igaz.
Megnéztem a sizeof függvénnyel.
Akkor mi ez?
Nah. A sizeof() az nem "megbízható", ugyanis ha az str2-t nem úgy adtad meg, hogy char str[100]; akkor a sizeof az str2 mint char* méretét fogja visszaadni.
Amúgy nem mondtak hülyeséget, csak itt a méret fogalma a kérdés. Egy string hossza (C-ben) az a darabszámú karakter, ami a 0. indextől az első \0-t tartalmazó indexig van. Tehát ha azt mondom, hogy
char array[100] = {'a', 'b', 'c', '\0'}; //ez amúgy egyenértékű azzal, hogy char array[100] = "abc";
Akkor a sizeof(array) 100 lesz, míg az strlen(array) 3. Mindkettő egyfajta méret.
Visszatérve:
string2[strlen(string1)] = '\0';
Ez a kifejezés megnézi, hanyadik karakteren van az első 0 karakter a string1-ben (az strlen függvény ezt adja vissza), és arra a pozícióra beszúr egy 0 karaktert a string2-be.
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!