User Tools

Site Tools


in204:cpp:syntax:cincout

This is an old revision of the document!


Ecrire et lire des valeurs à partir de la console

Utiliser les fonctions C

En C, vous avez utilisé la fonction printf pour écrire des résultats sur le terminal. Pour lire les données à partir du terminal, il est possible d'utiliser la fonction scanf.

Il est possible d'utiliser l'ensemble des fonctions C++ en C. Pour ce faire en C, pour pouvoir utiliser printf, il est nécessaire de charger le fichier contenant le prototype de la fonction printf, c'est à dire, d'insérer l'instruction suivante :

#include<stdio.h>
 
int main()
{
    printf("Le résultat est %d.\n", 3);
}

En C++, il est préférable de charger l'entête cstdio, le c devant le stdio indiquant qu'il s'agit d'un fichier d'entête relative à des fonctions C.

#include<cstdio>
 
int main()
{
    printf("Le résultat est %d.\n", 3);
}

Utiliser les opérateurs C++

C++ offre un ensemble d'objets et d'opérateurs permettant de lire et d'écrire d'une manière totalement homogène dans des flux. Nous verrons plus en avant comment manipuler les flux, définir les méthodes de lectures et d'écritures d'objets complexes dans les flux.

Pour l'instant nous nous intéressons uniquement à écrire les valeurs contenues dans des variables sur la console. Pour ce faire, nous devons charger la définition des classes et des opérateurs permettant d'accéder à la console et d'écrire sur un flux ou de lire à partir d'un flux.

#include<iostream>
 
int main()
{
    int value = 3;
    std::cout "Le résultat est " << value << std::endl;
}

L'objet std::cout est un objet qui permet d'accéder à la console en écrire.

Plus spécifiquement, la console défini trois flux :

  • stdout le flux d'écriture des messages,
  • stderr le flux d'écriture des messages d'erreurs,
  • stdin le flux de lecture

La bibliothèque standard de C++ (STL) définit trois objets permettant d'accéder aux différents flux :

  • std::cout accède au flux d'écrire des messages en écriture uniquement,
  • std::cerr accède au flux d'écriture des messages d'erreurs en écriture uniquement,
  • std::cin accède au flux de lecture des messages en lecture uniquement

Nous pouvons écrire plusieurs contenus à la fois en écrivant ainsi :

std::cout << "Les valeurs (x,y) sont " << x // Ecrit le contenu de la variable x           
          << y << std::endl;               // Ecrit le contenu de la variable y          
                                           // ainsi qu’un saut de ligne (std::endl) 
in204/cpp/syntax/cincout.1568635750.txt.gz · Last modified: 2019/09/16 12:09 by 147.250.35.104