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.