[C] Compréhension

Fermé
Maxg59 Messages postés 275 Date d'inscription vendredi 13 mai 2005 Statut Membre Dernière intervention 7 octobre 2006 - 16 mars 2006 à 18:11
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 - 16 mars 2006 à 19:28
Salut a tous !
Exercice 1-10.Ecrivez un programme qui copie son entrée sur sa sortie en remplaçant les tabulations par \t, les caractéres de retour en arriére par \b et les backslashs par \\. Cela visualise les tabulations et les retours en arriére sans ambiguïté

Je ne vous demande pas la réponse !
Je ne comprend pas trop la consigne ...
il faut que, si par exemple on ecrit :

Comment          ça\marche

en entrée , il faut :
Comment\tça\\marche

en sortie ???
D'avance merci !

3 réponses

kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
16 mars 2006 à 18:28
Oui en fait les tabulations sont exprimées comme ceci:
\t

'\t' est un caractère spécial.
Mais si tu veux afficher réellement \t au lieu de le laisser être interpété comme uen tabulation, alors il faut l'echapper avec un antislash comme ceci:
\\t
0
Maxg59 Messages postés 275 Date d'inscription vendredi 13 mai 2005 Statut Membre Dernière intervention 7 octobre 2006 27
16 mars 2006 à 18:29
Meeerrrrrcciiiiiiiii !!!!!
0
Maxg59 Messages postés 275 Date d'inscription vendredi 13 mai 2005 Statut Membre Dernière intervention 7 octobre 2006 27
16 mars 2006 à 18:53
J'ai fait sa :
#include <stdio.h>
#include <stdlib.h>

int main()
{
    int c;
    while((c=getchar())!=EOF)
    {
                             if(c=='\t')
                                        printf("\\t");
                             if(c=='\b')
                                        printf("\\b");
                             if(c=='\\')
                                       printf("\\");
                             putchar(c);
                             
    }
    system("pause");
}

sa marche ( enfin je pense ... )
mais c'est quoi des "caractéres de retour en arriére" et comment en entrer ??pour qu'il les remplace par \b
0
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
16 mars 2006 à 19:28
Je dirais plutôt:
#include <stdio.h>
#include <stdlib.h>

int main()
{
    int c;
    while((c=getchar())!=EOF)
    {
                             if(c=='\t')
                                        printf("\\t");
                             else if(c=='\b')
                                        printf("\\b");
                             else if(c=='\\')
                                       printf("\\");
                             else
                                       putchar(c);
                             
    }
    system("pause");
}
0