Comment utiliser le caractère d'entrée / sortie dans la programmation de c

Le type le plus simple d'entrée et de sortie dans la programmation C a lieu au niveau du personnage: Un personnage va en-un personnage sort. Bien sûr, arriver à ce point implique un tout petit peu de la programmation.

Sommaire

Dispositifs d'entrée et de sortie dans la programmation C

Le langage C est né avec le système d'exploitation Unix. En tant que tel, il en résulte un grand nombre des règles de ce système d'exploitation en ce qui concerne les entrées et sorties. Ces règles sont assez solide:

  • Entrée provient de l'appareil d'entrée standard stdin.

  • Sortie est générée par le dispositif de sortie standard, stdout.

Sur un ordinateur, l'appareil d'entrée standard stdin, est le clavier. L'entrée peut également être redirigé par le système d'exploitation, il peut venir d'un autre appareil, comme un modem, ou il peut aussi provenir d'un fichier.

Le périphérique de sortie standard, stdout, est l'affichage. La sortie peut être redirigé de sorte qu'elle passe à un autre périphérique, tel qu'une imprimante ou dans un fichier.

Les fonctions du langage C qui traitent de l'entrée et l'accès de sortie des dispositifs de stdin et stdout. Ils ne lisent pas directement à partir du clavier ou de la sortie à l'écran. Eh bien, à moins que vous codez votre programme pour le faire.

Bottom line: Bien que vos programmes peuvent obtenir les entrées du clavier et envoyer sortie à l'écran, vous devez penser à langage C E / S en termes de stdin et stdout dispositifs lieu. Si vous oubliez cela, vous pouvez avoir des ennuis.

Comment chercher des personnages avec getchar ()

Il est temps pour votre code pour devenir plus interactif. Considérons le code source à partir il mange caractères, ce qui utilise la fonction getchar (). Cette fonction obtient (lit) un caractère de l'entrée standard.

Il mange PERSONNAGES

#include int main () {int c-printf ("Je suis en attente pour un personnage:") -c = getchar () - printf (". Je attendu pour le '% c' caractère n", c) - retourner (0) -}

Le code en elle mange Personnage lit un caractère de l'entrée standard en utilisant la fonction getchar () à la ligne 8. Le caractère est renvoyé par getchar () et stocké dans le c variable entière.

Ligne 9 affiche le caractère stockée dans c. La fonction printf () utilise l'espace réservé% c pour afficher des caractères simples.

Exercice 1: Tapez le code source pour ex0701 du projet, comme le montre qu'il mange caractères. Construire et exécuter.




La fonction getchar () est défini de cette façon:

#include int getchar (void) -

La fonction n'a pas d'arguments, de sorte que les parenthèses sont toujours empty- le mot vide dans cet exemple dit essentiellement sorte. Et la fonction getchar () nécessite le fichier d'en-tête stdio.h être inclus avec votre code source.

getchar () retourne une valeur entière, pas une variable char. Le compilateur vous avertit lorsque vous oubliez. Et ne vous inquiétez pas: La int contient une valeur de caractère, qui est juste comment cela fonctionne.

Exercice 2: Modifier la ligne 9 dans le code source à partir il mange caractères de sorte que le% d espace réservé est utilisé à la place de% c. Construire et exécuter.

La valeur qui est affiché lorsque vous exécutez la solution à l'exercice 1 est la valeur de code ASCII du caractère. Les% d affiche qui valorisent au lieu d'une valeur de caractère interne, car les friandises informatiques toutes les informations en tant que valeurs. Seulement lorsque l'information est affichée comme un personnage ça ressemble texte.

Techniquement, getchar () est pas une fonction. C'est un macro - un raccourci basé sur une autre fonction, telle que définie dans le fichier d'en-tête stdio.h. La fonction réelle pour obtenir des caractères de l'entrée standard est getc () - spécifiquement, lorsqu'il est utilisé comme ceci:

c = getc (stdin) -

Dans cet exemple, getc () lit à partir du périphérique d'entrée standard stdin, qui est défini dans le fichier d'en-tête stdio.h. La fonction retourne une valeur entière, qui est stockée dans la variable c.

Exercice 3: Réécrire le code source pour qu'il mange Personnage, en remplacement de la déclaration getchar () avec l'exemple getc () vient de montrer.

Exercice 4: Écrire un programme qui invite à trois PERSONNAGE- par exemple:

Je suis en attente pour trois personnages:

Code à trois getchar consécutive () pour lire les caractères. Formater le résultat comme ceci:

Les trois personnages sont «a», «b» et «c»

où ces personnages - A, B, et C - seraient remplacées par l'entrée du programme.

Le programme que vous créez dans l'exercice 4 attend trois personnages. La touche Entrée est un personnage, si vous tapez UN, Entrer, B, Entrer, les trois personnages sont UN, Entrez le personnage clé, puis B. Voilà entrée valide, mais ce que vous voulez probablement type est quelque chose comme Abc ou PIE ou lol puis appuyez sur la touche Entrée.

L'entrée standard est orienté flux. Ne vous attendez pas vos programmes C pour être interactif. Exercice 4 est un exemple de la façon dont l'entrée de flux ŒUVRES la clé ne se termine pas flux entrées-il monte simplement le long du ruisseau, comme tout autre caractère Entrée.

Comment utiliser le putchar () fonction

Le jumeau maléfique de la fonction getchar () est la fonction putchar (). Il sert à coups de pied un caractère unique sur la sortie standard. Voici le format:

#include int putchar (int c) -

Pour faire putchar () travail, vous envoyez un caractère, placer un caractère littéral dans les parenthèses, comme dans

putchar ('v') -

Ou vous pouvez placer la valeur de code ASCII (un entier) pour le personnage dans les parenthèses. La fonction retourne la valeur du caractère qui est écrit.

MISE Putchar () TRAVAILLER

main () {int ch-printf ("Appuyez sur Entrée:") #include int -getchar () - = CH 'H'-putchar (CH) -CH =' Je putchar (ch) -putchar ('!' ) -retour (0) -}

Ce morceau de code utilise la fonction getchar () pour mettre en pause le programme. La déclaration en ligne 8 attend l'entrée. L'entrée qui est reçu à accumulation est pas, il n'a pas besoin de l'être. Le compilateur ne se plaint pas, si vous ne gardez pas la valeur retournée par la fonction (ou de toute fonction) getchar ().

Dans les lignes 9 à 12, la fonction putchar () affiche la valeur de la variable ch un caractère à la fois.

Les valeurs à caractère unique sont affectés à la ch variable dans les lignes 9 et 11. L'affectation fonctionne exactement comme l'assignement de valeurs, bien que des caractères simples sont spécifiés, entre apostrophes. Ce processus fonctionne toujours, même si ch est pas un type de variable omble.

Dans la ligne 13, putchar () affiche une valeur constante directement. Encore une fois, le personnage doit être placé entre guillemets simples.

Exercice 5: Créez un nouveau projet, ex0705, en utilisant le code de source indiqué sur Mettre putchar () travailler. Construire et exécuter le programme.

Une chose étrange au sujet de la sortie est que le caractère définitif ne sont pas suivies par un retour à la ligne. Cette sortie peut regarder maladroit sur un affichage de texte, de sorte que:

Exercice 6: Modifiez le code source à partir de l'exercice 5 de sorte qu'un caractère supplémentaire est sortie après la! caractère (le caractère de saut de ligne).


» » » » Comment utiliser le caractère d'entrée / sortie dans la programmation de c