Informatika2-2013/Gyakorlat07
53. sor: | 53. sor: | ||
A string.h tartalmaz pár hasznos függvényt mellyel string-eket lehet manipulálni, a legfontosabbak: | A string.h tartalmaz pár hasznos függvényt mellyel string-eket lehet manipulálni, a legfontosabbak: | ||
* strlen(const char *): az 1. feladatot valósítja meg, azaz visszaadja a kapott string hosszát. (a const csak arra utal, hogy a string tartalmát nem fogja megváltoztatni) | * strlen(const char *): az 1. feladatot valósítja meg, azaz visszaadja a kapott string hosszát. (a const csak arra utal, hogy a string tartalmát nem fogja megváltoztatni) | ||
− | * strcpy( | + | * strcpy(char *cel, const char *forras): átmásolja a forras string tartalmát a cel string-be |
+ | * strcat(char *cel, const char *forras): hozzáfûzi a forras string tartalmát a cel string-hez | ||
+ | * strcmp(const char *str1, const char *str2): összehasonlítja az str1-et és az str2-t, ha 0-t ad akkor megegyeznek, pozitívat ad, ha az elsõ nem egyezésnél az elsõ string-ben volt nagyobb karakter, negatívat különben | ||
+ | |||
+ | Egy példa erre: | ||
+ | <c> | ||
+ | char fname[30] = "Bob"; | ||
+ | char lname[30] = "by"; | ||
+ | |||
+ | printf("%s", strcat(fname, lname)); | ||
+ | </c> |
A lap 2013. március 26., 04:13-kori változata
Tartalomjegyzék |
Ismétlés
- Filekezelés
- fopen, fprintf, fscanf, fclose
- FILE *
- write, add, read (w, a, r)
- a kiíró/beolvasó függvények használata akár a parancssoriaké
- Program argumentumai
- int argc, char* argv[]
- kezdetben minden szöveg, atoi-val int-é, atof-el float-á konvertálás
- 0. indexû a file neve, 1. indexû az elsõ argumentum
- Typedef és struktúrák
- több változót egységbe zárni, pl vektor, komplex szám
- . operátorral elérhetõ adattagok
- létrehozásuk és függvény paraméter/visszatérési érték használatuk akár mint egy beépített változónak
Stringek
A string típus szöveges tartalmat tárol, valójában egy karakter tömb (char[]), egy lezáró nullával ('\0') a végén.
Különbség az 'a' és az "a" között:
- 'a' char típusú, "a" char[] (vagyis char *) típusú
- az "a" 2 karaktert tárol egy 'a' és egy '\0'
Könnyen létrehozhatunk egy konstans karakter tömböt:
char s[] = "kiskutya";
Ez ekvivalens a már korábban tanult tömb megadással:
char s[] = {'k', 'i', 's', 'k', 'u', 't', 'y', 'a', '\0'};
Feladatok
1. Hossz
Írjatok függvényt mely egy string-et kap bemenetként, int-et ad vissza és kiszámolja hogy milyen hosszú a string (hány karakterbõl áll). Segítség: minden string végén ott a lezáró nulla.
2. Egyezések
Írjatok függvényt mely egy string-et és egy karaktert kap bemenetként, int-et ad vissza és kiszámolja hogy hányszor szerepel az adott karakter a string-ben, és visszaadja ezt a számot.
3. atoi
Írjatok függvényt mely megvalósítja a már ismert atoi függvényt (az atoi használata nélkül). Azaz string-et kap bemenetként, és a string-ben tárolt szám számértékét adja vissza int-ként. (Azaz ha "95" van a string-ben akkor 95-öt ad vissza.)
String.h
A string.h tartalmaz pár hasznos függvényt mellyel string-eket lehet manipulálni, a legfontosabbak:
- strlen(const char *): az 1. feladatot valósítja meg, azaz visszaadja a kapott string hosszát. (a const csak arra utal, hogy a string tartalmát nem fogja megváltoztatni)
- strcpy(char *cel, const char *forras): átmásolja a forras string tartalmát a cel string-be
- strcat(char *cel, const char *forras): hozzáfûzi a forras string tartalmát a cel string-hez
- strcmp(const char *str1, const char *str2): összehasonlítja az str1-et és az str2-t, ha 0-t ad akkor megegyeznek, pozitívat ad, ha az elsõ nem egyezésnél az elsõ string-ben volt nagyobb karakter, negatívat különben
Egy példa erre:
char fname[30] = "Bob"; char lname[30] = "by"; printf("%s", strcat(fname, lname));