Jak czytać ciąg w C

Jak czytać ciąg w C. Język programowania C nie zapewnia rzeczywistego typu danych ciągu. W C napis jest emulowany przez tablicę znaków, która kończy się na NULL. Taka tablica może być zadeklarowana statycznie lub jako wskaźnik. Standard C zapewnia wiele funkcji do manipulowania tablicami znaków lub ciągami C. Ten artykuł koncentruje się na funkcjach odczytujących ze strumienia wejściowego i plików. Postępuj zgodnie z tymi wskazówkami, aby dowiedzieć się, jak czytać ciąg w języku C.

Krok 1

Zrozum podstawy. Ciąg C to tablica typu wykresu. Podobnie jak w przypadku wszystkich tablic w języku C, pierwszy element jest indeksowany na 0, a ostatni na „długość ciągu minus 1”. Zwykle kompilator wstawia NULL w ostatniej lokalizacji, więc ciąg może zawierać „długość ciągu minus 1” elementy. Null jest równoważne 0x00 w postaci liczby całkowitej i '\0' w postaci znaków. Dostęp do elementów uzyskuje się za pomocą operatora „[]”. Krok 2 ilustruje te koncepcje.

Wideo dnia

Krok 2

Dodaj poniższą dyrektywę „include” do dowolnego pliku źródłowego przed użyciem funkcji tego samouczka:

#include < stdio.h >

Krok 3

Zadeklaruj ciąg C. Poniższy kod przedstawia deklarację przy użyciu metody statycznej i metody wskaźnikowej:

// deklaracja statyczna char str[50] = {0}; // skrócony sposób inicjalizacji wszystkich elementów na 0 // str[49] is NULL // str ma pojemność 48 znaków // deklaracja przez znak wskaźnika pStr = NULL; // brak przydziału pamięci pStr = (char)mallok (50); // robi to "malloc()"

Krok 4

Wczytaj dane do ciągu C za pomocą funkcji „scanf()”, która odczytuje serię ciągów oddzielonych spacją od standardu i umieszcza je w adresach należących do odpowiednich zmiennych referencyjnych, zgodnie z „formatem strunowy":

int n; printf("Wpisz swoje imię i wiek: "); scanf("%s%d", str, &n); // printf("Nazywasz się %s i jesteś %d stary\n", str, n);

Krok 5

Umieść dane w ciągu C, używając prostszej funkcji „gets()”, która odczytuje dane ze standardowego wejścia tylko do ciągu:

printf("Wpisz swoje nazwisko: "); dostaje (str); printf("Twoje imię to %s\n", str);

Krok 6

Wczytaj dane pliku do łańcucha C za pomocą "fscanf()"; ta funkcja jest analogiczna do "scanf()":

PLIK* pPlik; pFile = fopen("mójPlik.txt", "r"); // załóż, że plik istnieje i zawiera dane if (NULL != pFile) { fscanf (pFile, "%s", str); printf("Pierwszym słowem w pliku jest %s\n", str); fclose (pFile); }

Krok 7

Powtórz krok 5, używając funkcji „fgets()”, która działa tak samo jak „gets()”:

PLIK* pPlik; pFile = fopen("mójPlik.txt", "r"); if (NULL != pFile) { fgets (pFile, str); printf("Pierwszym słowem w pliku jest %s\n", str); fclose (pFile); }

Rzeczy, których będziesz potrzebować

  • C/C++ IDE lub kompilator C

  • Książka o języku C, na przykład „Język programowania C” Briana W. Kernighan

Wskazówka

Aby dowiedzieć się więcej o wymienionych funkcjach, odwiedź stronę C Plus Plus.

Ostrzeżenie

Nie próbuj kompilować tego kodu. Ma tylko zademonstrować funkcje. Nie jest to spójny program i podczas kompilacji będzie dawał błędy.