Cum să citești un șir în C

click fraud protection

Cum să citești un șir în C. Limbajul de programare C nu oferă un tip real de date șir. În C, un șir este emulat de o matrice de caractere care se termină în NULL. O astfel de matrice poate fi declarată static sau ca pointer. Standard C oferă multe funcții pentru a manipula matrice de caractere sau șiruri C. Acest articol se concentrează pe funcțiile care citesc din fluxul de intrare și din fișiere. Urmați aceste sfaturi pentru a afla cum să citiți un șir în C.

Pasul 1

Înțelegeți elementele de bază. Un șir C este o matrice de tip diagramă. Ca și în cazul tuturor tablourilor C, primul element este indexat la 0, iar ultimul la „lungimea șirului minus 1”. De obicei, compilatorul inserează NULL în ultima locație, astfel încât șirul poate conține „lungimea șirului minus 1” elemente. Null este echivalent cu 0x00 în formă întreagă și cu „\0” în formă de caractere. Elementele sunt accesate de operatorul „[]”. Pasul 2 ilustrează aceste concepte.

Videoclipul zilei

Pasul 2

Adăugați „directiva include” de mai jos la orice fișier sursă înainte de a utiliza funcțiile acestui tutorial:

#include < stdio.h >

Pasul 3

Declarați un șir C. Codul de mai jos arată o declarație folosind metoda statică și metoda pointer:

// declarație statică char str[50] = {0}; // mod prescurtat de a inițializa toate elementele la 0 // str[49] este NULL // str are capacitate pentru 48 de caractere // declarație prin pointer char pStr = NULL; // nicio alocare de memorie pStr = (car)malloc (50); // acest lucru se face de "malloc()"

Pasul 4

Citiți datele într-un șir C folosind „scanf(),” care citește o serie de șiruri separate prin spațiu de standard introduceți și plasați-le în adresele aparținând variabilelor de referință corespunzătoare, după un „format şir":

int n; printf("Introduceți prenumele și vârsta: "); scanf("%s%d", str, &n); // printf("Numele tau este %s si ai %d vechi\n", str, n);

Pasul 5

Puneți date într-un șir C folosind funcția mai simplă „gets()”, care citește datele de la intrarea standard doar într-un șir:

printf("Introduceți numele dvs. de familie: "); devine (str); printf("Numele tau este %s\n", str);

Pasul 6

Citiți datele fișierului într-un șir C folosind „fscanf()”; această funcție este analogă cu „scanf()”:

FIȘIER* pFișier; pFile = fopen("myFile.txt", "r"); // presupunem că fișierul există și are date dacă (NULL != pFișier) { fscanf (pFișier, „%s”, str); printf("Primul cuvânt din fișier este %s\n", str); fclose (pFile); }

Pasul 7

Repetați pasul 5 folosind „fgets(),” care funcționează la fel ca „gets()”:

FIȘIER* pFișier; pFile = fopen("myFile.txt", "r"); if (NULL != pFile) { fgets (pFile, str); printf("Primul cuvânt din fișier este %s\n", str); fclose (pFile); }

Lucruri de care veți avea nevoie

  • C/C++ IDE sau compilator C

  • Carte despre C, cum ar fi „Limbajul de programare C” de Brian W. Kernighan

Bacsis

Pentru a afla mai multe despre funcțiile menționate, vizitați site-ul web C Plus Plus.

Avertizare

Nu încercați să compilați acest cod. Este menit doar să demonstreze funcțiile. Nu este un program coerent și va da erori atunci când este compilat.