[C] caractères bizzards..
Maxg59
Messages postés
275
Date d'inscription
Statut
Membre
Dernière intervention
-
Maxg59 Messages postés 275 Date d'inscription Statut Membre Dernière intervention -
Maxg59 Messages postés 275 Date d'inscription Statut Membre Dernière intervention -
salut a tous ! ;)
Depuis que j'ai commencé a faire des prog avec des chaines de caractéres en C, j'ai souvent eu le meme probléme :
a la fin, ma chaine de caractére s'affichai mais avec des signes bizzard à la fin( genre des fléches, smiley, coeurs etc ...(sous dos mdr :) )
Donc j'ai quelque questions :
que sont ces signes, à quoi servent ils ?
et surtout pourquoi sont-ils là? et comment les faire disparaitre ??
voici un exemple de prog qui fait sa :
(je sais que l'on peu le faire plus facilement, mais l'exercice le posai comme ça :) )
D'avance merci de votre aide :D
Depuis que j'ai commencé a faire des prog avec des chaines de caractéres en C, j'ai souvent eu le meme probléme :
a la fin, ma chaine de caractére s'affichai mais avec des signes bizzard à la fin( genre des fléches, smiley, coeurs etc ...(sous dos mdr :) )
Donc j'ai quelque questions :
que sont ces signes, à quoi servent ils ?
et surtout pourquoi sont-ils là? et comment les faire disparaitre ??
voici un exemple de prog qui fait sa :
(je sais que l'on peu le faire plus facilement, mais l'exercice le posai comme ça :) )
#include <stdio.h> #define MAXCAR 1000 #define AVANTOUI 1 #define AVANTNON 0 void verif(char texte[], char sortie[]); int main(void) { char texte[MAXCAR]; /* texte entré */ char sortie[MAXCAR+1];/* texte a afficher en sortie */ int c,i;/*caractére d'entré courant, cle*/ for(i=0;(c=getchar()) != EOF && i < (MAXCAR-1);++i) texte[i]=c; verif(texte,sortie); printf("\n%s", sortie); getchar(); return 0; } void verif(char entre[], char sortie[]) { int i,j;/* clés*/ int etat=AVANTNON; /*defini l'état du caractére d'avant( \n ou pas )*/ j=i=0; while(entre[i] != '\0') { /* suppretion des lignes vide */ if(entre[i]=='\n' && etat==AVANTNON) { etat=AVANTOUI; sortie[j]=entre[i]; ++j;++i; } else if(entre[i]=='\n' && etat==AVANTOUI) { ++i; } else { sortie[j]=entre[i]; etat=AVANTNON; ++i;++j; } } sortie[j]='\0'; }
D'avance merci de votre aide :D
A voir également:
- [C] caractères bizzards..
- Caractères ascii - Guide
- Caractères spéciaux - Guide
- Caractères spéciaux mac - Guide
- Caracteres speciaux - Guide
- Exemple de mot de passe à 8 caractères - Guide
je epnsais que ce n'étais pas utile....
mais a partir du moment ou j'écrit while(texte[i] != '\0') ça l'est :D
MERCI !!!!!