logo

Podstawowe wejście/wyjście w C++

C++ zawiera biblioteki, które zapewniają nam wiele sposobów wykonywania operacji wejścia i wyjścia. W C++ dane wejściowe i wyjściowe są wykonywane w postaci sekwencji bajtów lub bardziej znanej jako strumienie .

  • Strumień wejściowy: Jeśli kierunek przepływu bajtów przebiega z urządzenia (na przykład klawiatury) do pamięci głównej, wówczas proces ten nazywa się wprowadzaniem.
  • Strumień wyjściowy: Jeżeli kierunek przepływu bajtów jest odwrotny, tj. z pamięci głównej do urządzenia (ekranu wyświetlacza), to proces ten nazywa się wyjściem.

Podstawowe wejście/wyjście w C++



Pliki nagłówkowe dostępne w C++ dla operacji wejścia/wyjścia to:

  1. iostream : iostream oznacza standardowy strumień wejścia-wyjścia. Ten plik nagłówkowy zawiera definicje obiektów takich jak cin, cout, cerr itp.
  2. jomanip : iomanip oznacza manipulatory wejścia-wyjścia. Metody zadeklarowane w tych plikach służą do manipulowania strumieniami. Ten plik zawiera definicje setw, setprecision itp.
  3. fstream : Ten plik nagłówkowy opisuje głównie strumień pliku. Ten plik nagłówkowy służy do obsługi danych odczytywanych z pliku jako dane wejściowe lub danych zapisywanych do pliku jako dane wyjściowe.
  4. bity/stdc++: Ten plik nagłówkowy zawiera każdą bibliotekę standardową. W konkursach programistycznych użycie tego pliku jest dobrym pomysłem, jeśli chcesz skrócić czas marnowany na wykonywanie obowiązków domowych; zwłaszcza gdy twoja ranga jest wrażliwa na czas. Aby dowiedzieć się więcej o tym pliku nagłówkowym, zobacz Ten artykuł.

W C++ po plikach nagłówkowych często używamy „ używając przestrzeni nazw std; „. Dzieje się tak dlatego, że wszystkie definicje bibliotek standardowych znajdują się w przestrzeni nazw std. Ponieważ funkcje biblioteczne nie są zdefiniowane w zasięgu globalnym, dlatego aby z nich skorzystać, używamy przestrzeń nazw st . Abyśmy nie musieli wpisywać STD:: w każdej linii (np. STD::cout itp.). Aby dowiedzieć się więcej zobacz Ten artykuł.

Dwa przypadki cout w C++ I cin w C++ klasy iostream są bardzo często używane odpowiednio do drukowania wyników i pobierania danych wejściowych. Te dwie są najbardziej podstawowymi metodami pobierania danych wejściowych i drukowania w C++. Aby używać cin i cout w C++, należy dołączyć plik nagłówkowy iostream w programie.



W tym artykule omówiono głównie obiekty zdefiniowane w pliku nagłówkowym iostream jak cin i cout.

  • Standardowy strumień wyjściowy (cout) : Zwykle standardowym urządzeniem wyjściowym jest ekran. Język C++ cout instrukcja jest instancją klasy ostream. Służy do generowania danych wyjściowych na standardowym urządzeniu wyjściowym, którym zwykle jest ekran wyświetlacza. Dane potrzebne do wyświetlenia na ekranie wstawiane są do standardowego strumienia wyjściowego (cout) za pomocą operatora wstawiania ( << ).

C++




algorytm dla rsa



#include> using> namespace> std;> int> main()> {> >char> sample[] =>'techcodeview.com'>;> >cout << sample <<>' - A computer science portal for geeks'>;> >return> 0;> }>

>

>

Wyjście:

techcodeview.com - A computer science portal for geeks>

Złożoność czasowa: O(1)
Przestrzeń pomocnicza: O(1)

W powyższym programie operator wstawiania ( << ) wstawia wartość zmiennej łańcuchowej próbka po którym następuje ciąg Portal informatyczny dla maniaków w standardowym strumieniu wyjściowym cout który jest następnie wyświetlany na ekranie.

  • standardowy strumień wejściowy (cin) : Zwykle urządzeniem wejściowym w komputerze jest klawiatura. Instrukcja C++ cin jest instancją klasy strumień i służy do odczytywania danych wejściowych ze standardowego urządzenia wejściowego, którym zwykle jest klawiatura.
    Operator ekstrakcji ( >> ) jest używany razem z obiektem jedzenie do odczytu wejść. Operator ekstrakcji wyodrębnia dane z obiektu jedzenie który wprowadza się za pomocą klawiatury.

C++




#include> using> namespace> std;> int> main()> {> >int> age;> >cout <<>'Enter your age:'>;> >cin>> wiek;> >cout <<>' Your age is: '> << age;> >return> 0;> }>

porównaj w ciągu

>

>

Wejście :

18>

Wyjście:

Enter your age: Your age is: 18>

Złożoność czasowa: O(1)
Przestrzeń pomocnicza: O(1)

Powyższy program prosi użytkownika o podanie wieku. Obiekt cin jest podłączony do urządzenia wejściowego. Wiek wprowadzony przez użytkownika jest pobierany z cin za pomocą operatora ekstrakcji ( >> ), a wyodrębnione dane są następnie przechowywane w zmiennej wiek znajdujący się po prawej stronie operatora odciągowego.

  • Niebuforowany standardowy strumień błędów (cerr) : Cerr C++ to standardowy strumień błędów używany do wysyłania błędów. Jest to również instancja klasy iostream. Ponieważ cerr w C++ nie jest buforowany, dlatego jest używany, gdy trzeba natychmiast wyświetlić komunikat o błędzie. Nie ma żadnego bufora do przechowywania komunikatu o błędzie i wyświetlania go później.
  • Główna różnica między cerr i cout pojawia się, gdy chcesz przekierować dane wyjściowe za pomocą cout, które zostanie przekierowane do pliku, jeśli użyjesz cerr, błąd nie zostanie zapisany w pliku. (To oznacza brak buforowania. Nie może przechowywać danych wiadomość)

C++

pokaż użytkownikom mysql




#include> using> namespace> std;> int> main()> {> >cerr <<>'An error occurred'>;> >return> 0;> }>

>

>

Wyjście:

An error occurred>

Złożoność czasowa: O(1)
Przestrzeń pomocnicza: O(1)

  • buforowany standardowy strumień błędów (zatkanie) : Jest to również instancja klasy ostream i używana do wyświetlania błędów, ale w przeciwieństwie do cerr, błąd jest najpierw wstawiany do bufora i przechowywany w buforze aż do całkowitego zapełnienia. lub bufor nie jest jawnie opróżniany (przy użyciu funkcji Flush()). Komunikat o błędzie zostanie również wyświetlony na ekranie.

C++


format ciągu w Javie



#include> using> namespace> std;> int> main()> {> >clog <<>'An error occurred'>;> >return> 0;> }>

>

>

Wyjście:

An error occurred>

Złożoność czasowa: O(1)
Przestrzeń pomocnicza: O(1)

Powiązane artykuły :

  • cout << endl vs cout << w C++
  • Problem z funkcją scanf(), gdy po niej znajduje się fgets()/gets()/scanf().
  • Jak używać getline() w C++, gdy na wejściu znajdują się puste linie?
  • Cin-Cout kontra Scanf-Printf