Hogyan olvassunk el egy karakterláncot C-ben

Hogyan olvassunk el egy karakterláncot C-ben. A C programozási nyelv nem biztosít tényleges karakterlánc-adattípust. C-ben egy karakterláncot egy karaktertömb emulál, amely NULL-ra végződik. Egy ilyen tömb deklarálható statikusan vagy mutatóként. A C szabvány számos funkciót biztosít a karaktertömbök vagy C karakterláncok kezeléséhez. Ez a cikk azokra a függvényekre összpontosít, amelyek a bemeneti adatfolyamból és fájlokból olvasnak. Kövesse ezeket a tippeket, hogy megtanulja, hogyan kell olvasni egy karakterláncot C nyelven.

1. lépés

Értsd meg az alapokat. A C karakterlánc egy diagram típusú tömb. Mint minden C tömb esetében, az első elem indexelése 0, az utolsó pedig "karakterlánc hossza mínusz 1". Általában a fordító NULL értéket szúr be az utolsó helyre, így a karakterlánc tartalmazhatja a "karakterlánc hossza mínusz 1" értéket. elemeket. A nulla egyenértékű a 0x00-val egész számban, a \0-val pedig karakteres formában. Az elemekhez a "[]" operátor fér hozzá. A 2. lépés ezeket a fogalmakat szemlélteti.

A nap videója

2. lépés

Adja hozzá az alábbi "include direktívát" bármely forrásfájlhoz az oktatóanyag funkcióinak használata előtt:

#include < stdio.h >

3. lépés

Egy C karakterlánc deklarálása. Az alábbi kód egy deklarációt mutat a statikus és a pointer módszerrel:

// statikus deklaráció char str[50] = {0}; // az összes elem inicializálásának gyors módja 0-ra // str[49] NULL // str kapacitása 48 karakter // deklaráció mutató karakterrel pStr = NULL; // nincs memóriafoglalás pStr = (char)malloc (50); // ezt a "malloc()" végzi

4. lépés

Adatok beolvasása egy C karakterláncba a "scanf()" használatával, amely a szabványtól szóközzel elválasztott karakterláncok sorozatát olvassa be bemenetet, és elhelyezi azokat a megfelelő referenciaváltozókhoz tartozó címekben, egy "formátum szerint húr":

int n; printf("Adja meg keresztnevét és életkorát: "); scanf("%s%d", str, &n); // printf("A neved %s és %d öreg\n", str, n);

5. lépés

Tegye be az adatokat egy C karakterláncba az egyszerűbb "gets()" függvény segítségével, amely a szabványos bemeneti adatokat csak egy karakterláncba olvassa be:

printf("Adja meg vezetéknevét: "); kap (str); printf("A neved %s\n", str);

6. lépés

Fájladatok beolvasása egy C karakterláncba az "fscanf()" használatával; ez a függvény analóg a "scanf()"-hez:

FILE* pFájl; pFájl = fopen("sajátFájl.txt", "r"); // tételezzük fel, hogy a fájl létezik és adatokkal rendelkezik if (NULL != pFile) { fscanf (pFile, "%s", str); printf("A fájl első szava %s\n", str); fclose (pFile); }

7. lépés

Ismételje meg az 5. lépést az "fgets()" használatával, amely ugyanúgy működik, mint a "gets()":

FILE* pFájl; pFájl = fopen("sajátFájl.txt", "r"); if (NULL != pFájl) { fgets (pFile, str); printf("A fájl első szava %s\n", str); fclose (pFile); }

Dolgok, amelyekre szüksége lesz

  • C/C++ IDE vagy C fordító

  • Könyv C-ről, például "A C programozási nyelv", Brian W. Kernighan

Tipp

Ha többet szeretne megtudni az említett funkciókról, keresse fel a C Plus Plus webhelyet.

Figyelem

Ne próbálja meg lefordítani ezt a kódot. Csak a funkciókat hivatott bemutatni. Ez nem egy koherens program, és a fordításkor hibákat ad.