[C] Compréhension

Maxg59 Messages postés 275 Date d'inscription   Statut Membre Dernière intervention   -  
kilian Messages postés 8732 Date d'inscription   Statut Modérateur Dernière intervention   -
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 !
A voir également:

3 réponses

kilian Messages postés 8732 Date d'inscription   Statut Modérateur Dernière intervention   1 526
 
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   Statut Membre Dernière intervention   27
 
Meeerrrrrcciiiiiiiii !!!!!
0
Maxg59 Messages postés 275 Date d'inscription   Statut Membre Dernière intervention   27
 
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 8732 Date d'inscription   Statut Modérateur Dernière intervention   1 526
 
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