Kako čitati niz u C

Kako čitati niz u C. Programski jezik C ne pruža stvarnu vrstu podataka niza. U C-u se niz emulira nizom znakova koji završava NULL-om. Takav se niz može deklarirati statički ili kao pokazivač. Standardni C pruža mnoge funkcije za manipuliranje nizovima znakova ili C nizovima. Ovaj se članak usredotočuje na funkcije koje čitaju iz ulaznog toka i iz datoteka. Slijedite ove savjete kako biste naučili čitati niz u C.

Korak 1

Shvatite osnove. C string je niz grafikona tipa. Kao i kod svih C nizova, prvi element je indeksiran na 0, a posljednji na "duljina niza minus 1". Obično prevodilac umeće NULL na posljednje mjesto, tako da niz može sadržavati "duljinu niza minus 1" elementi. Null je ekvivalent 0x00 u cijelobrojnom obliku i '\0' u obliku znakova. Elementima se pristupa pomoću operatora "[]". Korak 2 ilustrira ove koncepte.

Video dana

Korak 2

Dodajte "include direktivu" u nastavku u bilo koju izvornu datoteku prije korištenja funkcija ovog vodiča:

#include < stdio.h >

Korak 3

Deklarirajte C niz. Kod u nastavku prikazuje deklaraciju pomoću statičke metode i metode pokazivača:

// statička deklaracija char str[50] = {0}; // skraćeni način da se svi elementi inicijaliziraju na 0 // str[49] je NULL // str ima kapacitet za 48 znakova // deklaracija znakom pokazivača pStr = NULL; // nema dodjele memorije pStr = (char)malloc (50); // to radi "malloc()"

4. korak

Čitanje podataka u C niz pomoću "scanf()" koji čita niz nizova odvojenih razmakom od standardnog unos i stavlja ih na adrese koje pripadaju odgovarajućim referentnim varijablama, prema "formatu niz":

int n; printf("Unesite svoje ime i dob: "); scanf("%s%d", str, &n); // printf("Zoveš se %s i %d si star\n", str, n);

Korak 5

Stavite podatke u C niz pomoću jednostavnije funkcije "gets()", koja podatke iz standardnog unosa čita samo u niz:

printf("Unesite svoje prezime: "); dobiva (str); printf("Vaše ime je %s\n", str);

Korak 6

Čitanje podataka datoteke u C niz pomoću "fscanf()"; ova funkcija je analogna "scanf()":

DATOTEKA* pDatoteka; pFile = fopen("myFile.txt", "r"); // pretpostavimo da datoteka postoji i ima podatke if (NULL != pFile) { fscanf (pFile, "%s", str); printf("Prva riječ u datoteci je %s\n", str); fclose (pFile); }

Korak 7

Ponovite korak 5 koristeći "fgets()," koji radi isto kao i "gets()":

DATOTEKA* pDatoteka; pFile = fopen("myFile.txt", "r"); if (NULL != pFile) { fgets (pFile, str); printf("Prva riječ u datoteci je %s\n", str); fclose (pFile); }

Stvari koje će vam trebati

  • C/C++ IDE ili C prevodilac

  • Knjiga o C, kao što je "Programski jezik C" Briana W. Kernighan

Savjet

Da biste saznali više o spomenutim funkcijama, posjetite web stranicu C Plus Plus.

Upozorenje

Ne pokušavajte kompajlirati ovaj kod. Namijenjen je samo demonstriranju funkcija. To nije koherentan program i dat će pogreške prilikom prevođenja.