Kako brati niz v C. Programski jezik C ne zagotavlja dejanskega podatkovnega tipa niza. V C se niz emulira z nizom znakov, ki se konča z NULL. Takšno matriko lahko razglasimo statično ali kot kazalec. Standardni C ponuja številne funkcije za manipulacijo nizov znakov ali nizov C. Ta članek se osredotoča na funkcije, ki berejo iz vhodnega toka in datotek. Sledite tem nasvetom, če se želite naučiti brati niz v C.
Korak 1
Razumeti osnove. C niz je matrika grafikona vrst. Kot pri vseh nizih C je prvi element indeksiran na 0, zadnji pa na "dolžina niza minus 1." Običajno prevajalnik vstavi NULL na zadnji lokaciji, tako da lahko niz vsebuje "dolžino niza minus 1" elementov. Null je enakovredna 0x00 v celoštevilski obliki in '\0' v obliki znakov. Do elementov dostopa operator "[]". Korak 2 ponazarja te koncepte.
Video dneva
2. korak
Pred uporabo funkcij te vadnice dodajte spodnjo "include direktivo" v katero koli izvorno datoteko:
#include < stdio.h >
3. korak
Razglasite niz C. Spodnja koda prikazuje izjavo z uporabo statike in metode kazalca:
// statična deklaracija char str[50] = {0}; // skrajšan način inicializacije vseh elementov na 0 // str[49] je NULL // str ima kapaciteto za 48 znakov // deklaracija s kazalcem char pStr = NULL; // brez dodelitve pomnilnika pStr = (znak)malloc (50); // to naredi "malloc()"
4. korak
Preberite podatke v nizu C z uporabo "scanf()," ki prebere niz nizov, ločenih s presledkom od standardnega vnos in jih postavi na naslove, ki pripadajo ustreznim referenčnim spremenljivkam, v skladu z "formatom vrvica":
int n; printf("Vnesite svoje ime in starost: "); scanf("%s%d", str, &n); // printf("Vaše ime je %s in ste %d star\n", str, n);
5. korak
Podatke vstavite v niz C z uporabo preprostejše funkcije "gets()", ki bere podatke iz standardnega vnosa samo v niz:
printf("Vnesite svoj priimek: "); dobi (str); printf("Vaše ime je %s\n", str);
6. korak
Preberite podatke datoteke v nizu C z uporabo "fscanf()"; ta funkcija je analogna "scanf()":
DATOTEKA* pDatoteka; pFile = fopen("myFile.txt", "r"); // domnevamo, da datoteka obstaja in ima podatke if (NULL != pFile) { fscanf (pFile, "%s", str); printf("Prva beseda v datoteki je %s\n", str); fclose (pFile); }
7. korak
Ponovite 5. korak z uporabo "fgets()," ki deluje enako kot "gets()":
DATOTEKA* pDatoteka; pFile = fopen("myFile.txt", "r"); if (NULL != pFile) { fgets (pFile, str); printf("Prva beseda v datoteki je %s\n", str); fclose (pFile); }
Stvari, ki jih boste potrebovali
C/C++ IDE ali C prevajalnik
Knjiga o C, kot je "Programski jezik C" Briana W. Kernighan
Nasvet
Če želite izvedeti več o omenjenih funkcijah, obiščite spletno mesto C Plus Plus.
Opozorilo
Ne poskušajte prevesti te kode. Namenjen je le prikazu funkcij. To ni skladen program in bo pri prevajanju dal napake.