Kā nolasīt virkni C valodā

Kā nolasīt virkni C valodā. C programmēšanas valoda nenodrošina faktisku virknes datu tipu. Programmā C virkne tiek emulēta ar rakstzīmju masīvu, kas beidzas ar NULL. Šādu masīvu var deklarēt statiski vai kā rādītāju. Standarts C nodrošina daudzas funkcijas, lai manipulētu ar rakstzīmju masīviem vai C virknēm. Šajā rakstā galvenā uzmanība ir pievērsta funkcijām, kas tiek lasītas no ievades straumes un failiem. Izpildiet šos padomus, lai uzzinātu, kā lasīt virkni C valodā.

1. darbība

Saprast pamatus. C virkne ir tipa diagrammas masīvs. Tāpat kā ar visiem C masīviem, pirmais elements tiek indeksēts ar 0, bet pēdējais ar "virknes garums mīnus 1". Parasti kompilators ievieto NULL pēdējā vietā, tāpēc virknē var būt "virknes garums mīnus 1". elementi. Null ir vienāds ar 0x00 veselu skaitļu formā un "\0" rakstzīmju formā. Elementiem piekļūst operators "[]". 2. darbība ilustrē šos jēdzienus.

Dienas video

2. darbība

Pirms šīs apmācības funkciju izmantošanas pievienojiet jebkuram avota failam tālāk norādīto "iekļaut direktīvu".

#include < stdio.h >

3. darbība

Deklarējiet C virkni. Tālāk redzamais kods parāda deklarāciju, izmantojot statisko un rādītāja metodi:

// statiskā deklarācija char str[50] = {0}; // saīsināts veids, kā inicializēt visus elementus uz 0 // str[49] ir NULL // str ir ietilpība 48 rakstzīmes // deklarācija ar rādītāja char pStr = NULL; // nav atmiņas piešķiršanas pStr = (char)malloc (50); // to dara "malloc()"

4. darbība

Lasīt datus C virknē, izmantojot "scanf(),", kas nolasa virknes, kas no standarta atdalītas ar atstarpi. ievadi un ievieto tos adresēs, kas pieder pie attiecīgajiem atsauces mainīgajiem atbilstoši "formātā". virkne":

int n; printf ("Ievadiet savu vārdu un vecumu: "); scanf("%s%d", str, &n); // printf("Tavs vārds ir %s un tu esi %d vecs\n", str, n);

5. darbība

Ievietojiet datus C virknē, izmantojot vienkāršāku funkciju "gets()", kas nolasa datus no standarta ievades tikai virknē:

printf ("Ievadiet savu uzvārdu: "); izpaužas (str); printf("Jūsu vārds ir %s\n", str);

6. darbība

Lasīt faila datus C virknē, izmantojot "fscanf()"; šī funkcija ir analoga "scanf()":

FILE* pFile; pFails = fopen("mansFails.txt", "r"); // pieņemsim, ka fails eksistē un tam ir dati if (NULL != pFile) { fscanf (pFile, "%s", str); printf("Pirmais vārds failā ir %s\n", str); fclose (pFile); }

7. darbība

Atkārtojiet 5. darbību, izmantojot "fgets(), kas darbojas tāpat kā "gets()":

FILE* pFile; pFails = fopen("mansFails.txt", "r"); if (NULL != pFile) { fgets (pFile, str); printf("Pirmais vārds failā ir %s\n", str); fclose (pFile); }

Lietas, kas jums būs nepieciešamas

  • C/C++ IDE vai C kompilators

  • Grāmata par C, piemēram, Braiena V. "C programmēšanas valoda". Kernighan

Padoms

Lai uzzinātu vairāk par minētajām funkcijām, apmeklējiet vietni C Plus Plus.

Brīdinājums

Nemēģiniet apkopot šo kodu. Tas ir paredzēts tikai funkciju demonstrēšanai. Tā nav saskaņota programma un kompilējot radīs kļūdas.