Latest web development tutorials

C Saisie et sortie

Lorsque nous nous référons àl'entrée, ce qui signifie que le programme souhaite remplir certaines données.L'entrée peut être sous la forme d'un fichier à partir de la ligne de commande ou effectué. Langage C fournit un ensemble de fonctions intégrées pour lire l'entrée donnée, et rempli selon les besoins dans le programme.

Lorsque nous parlons desortie, ce qui signifie, tout fichier sur l'imprimante ou afficher des données sur l'écran.Langage C fournit un ensemble de fonctions intégrées à la sortie des données sur l'écran de l'ordinateur et enregistrer les données dans un fichier texte ou un fichier binaire.

fichier standard

Langage C a mis tout le matériel sous forme de fichier. De sorte que le dispositif (par exemple un affichage) devant être traité de la même manière avec les fichiers. Les trois fichiers suivants sont automatiquement ouverts lorsque le programme est mis en œuvre pour accéder au clavier et à l'écran.

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

pointeur de fichier est l'accès au dossier, cette section vous expliquera comment la façon de lire les résultats de la valeur de sortie de l'écran et sur l'écran.

fonction getchar () & putchar ()

int getchar fonction (void)à partir de l'écran pour lire le caractère suivant disponible, et le retourne comme un entier. Cette fonction dans le même temps ne lire un seul caractère. Vous pouvez utiliser cette méthode dans une boucle pour lire plus de caractères de l'écran.

int putchar (int c) fonction de caractères de sortie à l'écran, et renvoie le même caractère.Cette fonction de la même sortie de volonté de temps un seul caractère. Vous pouvez utiliser cette méthode dans une boucle à la sortie d'une pluralité de caractères sur l'écran.

Prenons les exemples suivants:

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

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

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

   return 0;
}

Lorsque le code ci-dessus est compilé et exécuté, il attend pour vous d'entrer du texte, lorsque vous entrez un texte et appuyez sur la touche Entrée, le programme continuera et sera lu un seul caractère, est présenté ci-dessous:

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

gets () et puts () fonction

char * gets (char * s) lit une ligne depuis stdindans le tampon pointé pars,jusqu'à ce qu'un terminateur ou EOF.

int puts (const char * s) fonction de chaîne de caractères s et un retour à la ligne de fuite est écrit dans stdout.

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

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

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

   return 0;
}

Lorsque le code ci-dessus est compilé et exécuté, il attend pour vous d'entrer du texte, lorsque vous entrez un texte et appuyez sur la touche Entrée, le programme va continuer et lire une ligne entière jusqu'à la fin de la ligne, il est indiqué ci-dessous:

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

scanf () et fonction printf ()

int scanf (const char * format ...) fonction lit l' entrée du stdinde flux d'entréestandard,selon leformatet fournir des données au navigateur.

int printf (const char * format ...) fonction pour écrire la sortie du flux stdoutde sortiestandard,et produit de sortie selon le format.

format peut être une chaîne constante simple, mais vous pouvez spécifier% s,% d,% c ,% f ou similaires à lire la chaîne de sortie, nombre entier, virgule ou le caractère flottant.Il y a beaucoup d'autres options de formatage sont disponibles, en fonction des besoins. Pour plus de détails, vous pouvez visualiser ces fonctions manuel de référence. Regardons les exemples simples suivants pour approfondir la compréhension:

#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;
}

Lorsque le code ci-dessus est compilé et exécuté, il attend pour vous d'entrer du texte, lorsque vous entrez un texte et appuyez sur la touche Entrée, le programme continuera et lire l'entrée, est présenté ci-dessous:

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

Ici, il convient de noter que, scanf () le format et nous nous réjouissons à l'entrée que vous donnez même que% d% s, ce qui signifie que vous devez fournir une entrée valide, tel que "integer string", si vous fournissez un "string string "ou" integer entier ", il serait considéré comme entrée erronée. En outre, lors de la lecture de la chaîne, aussi longtemps que la rencontre d'un espace, scanf () arrête la lecture, de sorte que «ceci est test" pour scanf () est trois cordes.