Latest web development tutorials

C & wejście wyjście

Kiedy odnosimy siędo wejścia, co oznacza,że program chciałby wypełnić niektórych danych. Wejście może być w postaci pliku z wiersza poleceń lub przeprowadzone. Języka C dostarcza zestaw funkcji wbudowanych do zapoznania się z danego wejścia oraz wypełniony, ile potrzeba do programu.

Kiedy mówimy owyjściu, to znaczy, dowolny plik na drukarce lub wyświetlić jakieś dane na ekranie.Języka C dostarcza zestaw funkcji wbudowanych do wyprowadzania danych na ekranie komputera i zapisać dane do pliku tekstowego lub pliku binarnego.

Standardowy plik

Języka C umieścić wszystkie urządzenia w postaci pliku. Tak więc urządzenie (takie jak wyświetlacz) należy traktować w ten sam sposób z plikami. Poniższe trzy Pliki są otwierane automatycznie kiedy program jest realizowany w celu uzyskania dostępu do klawiatury i ekranu.

标准文件文件指针设备
标准输入stdin键盘
标准输出stdout屏幕
标准错误stderr您的屏幕

Wskaźnik pliku jest dostęp do pliku, ta sekcja wyjaśni, w jaki sposób, jak czytać wyniki wartości wyjściowej z ekranu na ekran.

Funkcja getchar () putchar ()

int getchar (void) Funkcja z ekranu do zapoznania się z kolejną dostępną charakter i zwraca go jako liczba całkowita.Funkcja ta w tym samym czasie będzie czytać tylko jeden znak. Można użyć tej metody w pętli, aby przeczytać więcej znaków z ekranu.

int putchar (int c) funkcja znaków wyjściowych do ekranu i zwraca ten sam charakter.Funkcja ta w tym samym czasie będzie wyjście pojedynczy znak. Można użyć tej metody w pętli na wyjście wiele znaków na ekranie.

Rozważmy następujące przykłady:

#include <stdio.h>
int main( )
{
   int c;

   printf( "Enter a value :");
   c = getchar( );

   printf( "\nYou entered: ");
   putchar( c );

   return 0;
}

Jeżeli powyższy kod jest kompilowany i wykonywany, to czeka, aby wprowadzić tekst, po wpisaniu tekstu, a następnie naciśnij klawisz Enter, program będzie kontynuowany i będzie czytać pojedynczy znak, przedstawiono poniżej:

$./a.out
<b>Enter a value :</b> this is test
<b>You entered:</b> t

gets () i puts () funkcji

char * gets (char * s) odczytuje linię z stdindo bufora wskazywanego przezs ażterminator lub EOF.

int puts (const char * s) funkcji w łańcuchu s, a tylnym znak nowej linii jest napisane na standardowe wyjście.

#include <stdio.h>
int main( )
{
   char str[100];

   printf( "Enter a value :");
   gets( str );

   printf( "\nYou entered: ");
   puts( str );

   return 0;
}

Jeżeli powyższy kod jest kompilowany i wykonywany, to czeka, aby wprowadzić tekst, po wpisaniu tekstu, a następnie naciśnij klawisz Enter, program będzie dalej i przeczytać całą linię aż do końca linii, to znajduje się poniżej:

$./a.out
<b>Enter a value :</b> this is test
<b>You entered:</b> This is test

scanf () i printf () funkcja

int scanf (const char * format ...) odczytuje dane ze standardowego strumienia wejściowego stdin,zgodnie zformatemi dostarczenie danych do przeglądarki.

int printf (const char * format ...) Funkcja napisać wyjście do standardowego strumienia wyjściowego stdout iwytwarza moc według formatu.

Format może być prosty stałym ciągiem, ale można określić% s% d,% C ,% f lub przeczytać ciąg wyjściowy, Integer zmiennoprzecinkowych lub znak.Istnieje wiele innych opcji formatowania są dostępne, w zależności od potrzeb. Aby uzyskać szczegółowe informacje, można przeglądać te funkcje Reference Manual. Spójrzmy na następujących prostych przykładów aby pogłębić zrozumienie:

#include <stdio.h>
int main( )
{
   char str[100];
   int i;

   printf( "Enter a value :");
   scanf("%s %d", str, &i);

   printf( "\nYou entered: %s %d ", str, i);

   return 0;
}

Jeżeli powyższy kod jest kompilowany i wykonywany, to czeka, aby wprowadzić tekst, po wpisaniu tekstu, a następnie naciśnij klawisz Enter, program będzie kontynuowany i odczytu wejścia, znajduje się poniżej:

$./a.out
<b>Enter a value :</b> seven 7
<b>You entered:</b> seven 7

Tutaj należy zauważyć, format, scanf () i czekamy na wejście dajesz sama jak% d% s, co oznacza, że ​​należy podać ważny wkład, takie jak "całkowitą strun", jeśli stanowią "ciąg string "lub" całkowita liczba całkowita ", byłoby to uznać za błędne wejście. Ponadto, podczas czytania ciąg, tak długo, jak spotkania spację, scanf () przestaje czytać, więc "to jest test" dla scanf () jest trzy struny.