Kako brati niz v C
Kako prebrati niz v C. Programski jezik C ne zagotavlja dejanskega podatkovnega tipa niza. V C je niz emuliran z nizom znakov, ki se konča z NULL. Tak niz je lahko deklariran statično ali kot kazalec. Standardni C ponuja veliko funkcij za manipulacijo nizov znakov ali nizov C. Ta članek se osredotoča na funkcije, ki berejo iz vhodnega toka in datotek. Sledite tem nasvetom, da se naučite brati niz v C.
1. korak
Razumeti osnove. Niz C 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 zadnjo lokacijo, tako da lahko niz vsebuje elemente "dolžina niza minus 1". Null je enakovreden 0x00 v obliki celega števila in '\0' v obliki znakov. Do elementov dostopate z operatorjem "[]". 2. korak ponazarja te koncepte.
2. korak
Pred uporabo funkcij te vadnice dodajte spodnjo "direktivo vključi" kateri koli izvorni datoteki:
#include
3. korak
Deklarirajte niz C. Spodnja koda prikazuje deklaracijo, ki uporablja statično metodo in metodo kazalca:
// statična deklaracija char str[50] ={0}; // skrajšani način za inicializacijo vseh elementov na 0 // str[49] je NULL // str ima kapaciteto za 48 znakov // deklaracija s kazalcem char pStr =NULL; // brez dodelitve pomnilnika pStr =(char )malloc(50); // to naredi "malloc()"
4. korak
Preberite podatke v niz C z uporabo "scanf()," ki prebere vrsto nizov, ločenih s presledkom, iz standardnega vnosa in jih postavi v naslove, ki pripadajo ustreznim referenčnim spremenljivkam, v skladu z "formatnim nizom":
int n; printf("Vnesite svoje ime in starost:"); scanf("%s%d", str, &n); // printf("Vaše ime je %s in stari ste %d\n", str, n);
5. korak
Vstavite podatke v niz C z enostavnejšo funkcijo "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 niz 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(pDatoteka); }
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(pDatoteka); }
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. Ni koherenten program in bo med prevajanjem dajal napake.