Jak odczytać plik tekstowy i wydrukować wszystkie struny w C

Jak odczytać plik tekstowy i wydrukować wszystkie struny w C

Czytanie pliku tekstowego i drukowanie wszystkich smyczki jest kluczowym zadaniem, które często wykonuje programści C. Ważne jest, aby zrozumieć podstawy czytanie A plik tekstowy w C i jak wydrukować smyczki z niego przed próbą tego zadania.

Czytanie pliku tekstowego i drukowanie wszystkich zawieranych przez niego ciągów zostanie wykazane przy użyciu programowania C w tym artykule.

Przeczytaj plik tekstowy i wydrukuj wszystkie ciągi w C

Istnieją cztery funkcje do odczytania pliku tekstowego i wydrukowania wszystkich ciągów w C, które są następujące:

  • błacznik ()
  • Zmarł ()
  • fscanf ()
  • fgetc ()

Metoda 1: Funkcja Fread ()

Dane są odczytaj z pliku i przechowywane w buforze za pomocą funkcji C błacznik (). W celu zliczenia elementów w buforze tablicy, błacznik () Metoda odczytu z strumienia wejściowego podana jako parametr funkcji. Jak odczytuje każdą funkcję znaku, wskaźnik pozycji pliku dla określonego strumienia wejściowego porusza się do przodu.

błacznik () Metoda w C ma składnię.

size_t fread (void * array_buffer, rozmiar size_t, liczba size_t, plik * file_stream)

Spójrzmy na parametry funkcji Fread () bardziej szczegółowo:

Bufor tablicy: Dane są tymczasowo przechowywane w buforze komputera, przestrzeni pamięci. Ten argument jest wskaźnikiem odnoszącym się do miejsca na pamięć bufora, który będzie zawierał dane Czytać ze strumienia wejściowego.

rozmiar: Ten argument instruuje funkcję liczby bajtów danych od strumienia wejściowego dla każdego bloku.

liczyć: Określa, ile znaków zostanie odczytanych ze strumienia wprowadzania danych.

file_stream: Jest to wskaźnik odnoszący się do obiektu pliku.

#włączać
#włączać
int main ()
Plik *plik;
Char Buffer [100];
file = fopen ("plik C_File.txt "," r ");
if (plik == null)
printf („błąd: nie można otworzyć pliku \ n”);
zwrot 1;

int liczba = fread (& buffer, sizeof (char), 100, plik);
fclose (plik);
printf („Odczytanie danych z pliku to: %s \ n”, bufor);
printf („Liczba elementów odczytanych: %d”, liczba);
fclose (plik);
powrót 0;

W tym przykładzie definiujemy bufor macie 100 Przed skorzystaniem fopen () Aby otworzyć plik tekstowy C_file.tekst w trybie odczytu. Korzystając z instrukcji IF, ustalamy, czy plik został pomyślnie otwarty. Poniższy krok to odczytanie 100 bajty danych z pliku za pomocą błacznik (). Bufor docelowy, w tym przypadku tablica bufora, jest pierwszym parametrem błacznik (). Drugi argument, rozmiar, określa rozmiar każdego elementu do odczytania, ponieważ czytamy w postaci. Trzecim wejściem jest ilość do odczytania, która w tym przypadku jest 100. Wskaźnik pliku jest czwartym parametrem. Na koniec używamy printf () Aby wydrukować odczytane dane z pliku i fclose () Aby zamknąć plik. Uruchomienie tego programu spowodowałoby takie wyniki, jeśli C_file.tekst:

Wyjście

Metoda 2: funkcja FGETS ()

Język C Zmarł () Metoda odczytuje N znaków ze strumienia do string str. Zmarł () Metoda nadal czyta znaki ze strumienia do (n-1) Przeczytano znaki, wykryto nową postać lub osiągnięto koniec pliku (EOF).

#włączać
int main ()
Plik *plik;
Char Buffer [100];
file = fopen ("plik C_File.txt "," r ");
if (plik == null)
printf („błąd: nie można otworzyć pliku \ n”);
zwrot 1;

while (fgets (bufor, 100, plik))
printf („ciąg odczytu z pliku: %s”, bufor);

fclose (plik);
powrót 0;

Ten przykład używa fopen () Aby otworzyć plik tekstowy o nazwie C_file.tekst w trybie odczytu po pierwszym ogłoszeniu rozmiaru bufora tablicy znaków 100. Korzystając z instrukcji IF, ustalamy, czy plik został pomyślnie otwarty. Następnie zatrudniamy pętlę i Zmarł () Aby odczytać wiersze tekstu z pliku za pomocą wskaźnika pliku. Za pomocą printf () W pętli drukujemy każdą wiersz tekstu. Uruchomienie tego programu zapewniłoby wyjście:

Wyjście

Metoda 3: Funkcja fscanf ()

Standardowa metoda biblioteki o nazwie fscanf () akceptuje szereg parametrów i przekształca je w wartości, jakie może korzystać z aplikacji. Chwila Czytanie z pliku, Zwróci ciąg formatu zamiast wszystkiego, co przewiduje widzenie w środku. Aby zapobiec interpretacji oprogramowania strun formatu jako części własnej składni, musi być otoczony cytatami („”).

#włączać
int main ()
Plik *plik;
int Num1, Num2, Num3;
file = fopen ("plik C_File.txt "," r ");
if (plik == null)
printf („błąd: nie można otworzyć pliku \ n”);
zwrot 1;

fscanf (plik, „ %d %d %d”, i num1 i num2 i num3);
printf („Liczby odczytane z pliku to: %d, %d, %d \ n”, num1, num2, num3);
fclose (plik);
powrót 0;

Ten przykład otwiera plik C_file.tekst w trybie odczytu poprzez najpierw deklarowanie 3 zmiennych int, NUM1, NUM2 i NUM3. Korzystając z instrukcji IF, ustalamy, czy plik został pomyślnie otwarty. Poniższym krokiem jest odczytanie trzech liczb z pliku za pomocą fscanf () i %D Specyfikator formatu. Zmienne Num1, NUM2 i NUM3 są tam, gdzie są przechowywane wartości. Na koniec używamy printf () Aby wyświetlić wartości tych zmiennych i fclose () Aby zamknąć plik. Uruchomienie tego programu spowodowałoby wyniki pokazane poniżej:

Wyjście

Metoda 4: funkcja fgetc ()

Plik może być Czytać znak według postaci za pomocą fgetc () funkcjonować. Kod ASCII dla znaku Ta funkcja jest zwracana przez tę funkcję. Znak z określonej lokalizacji wskaźnika pliku jest zwracany. Zgodnie z wskaźnikiem pliku jest odczytany następujący znak, zgodnie z wskaźnikiem pliku. Ta metoda zwraca plik EOF, jeśli wskaźnik znajduje się na końcu pliku lub jeśli występuje problem.

#włączać
int main ()
Plik *plik;
Char C;
file = fopen ("plik C_File.txt "," r ");
if (plik == null)
printf („błąd: nie można otworzyć pliku \ n”);
zwrot 1;

while ((c = fgetc (plik)) != Eof)
printf („%c”, c);

fclose (plik);
powrót 0;

W tym przypadku używamy fopen () Polecenie do otwarcia pliku tekstowego C_file.tekst w trybie odczytu. Korzystając z instrukcji IF, ustalamy, czy plik został pomyślnie otwarty. Następnie zatrudniamy pętlę i fgetc () czytać znaki z pliku. Znak otrzymany z pliku jest przypisany do zmiennej C Wewnątrz pętli przed wydrukowaniem za pomocą printf (). Pętla ciągle działa, aż EOF (Koniec pliku) stała wykrywa koniec pliku. Uruchomienie tego programu uzyskałby następujące wyniki, jeśli C_file.tekst zawiera słowo „Linuxhint”.

Wyjście

Wniosek

Korzystając z określonych powyżej kroków, można użyć c Przeczytaj plik tekstowy I Wydrukuj wszystkie struny zawiera. Zaczyna się od użycia fopen () wywołanie systemowe, aby otworzyć plik, a następnie użycie fscanf (), fread (), fgets (), fgetc () Aby odczytać dane. Następnie plik jest zamknięty za pomocą fclose () a do wydrukowania ciągów służy do wydrukowania ciągów. Stosując te techniki, C może być używane do pomocy w odczytaniu i drukowaniu danych w wydajny sposób.