bonjour![]()
voila je m'oppose à un problème.
sur mon tchate lorsque le client marque une phrases et appui sur "entrer" le message est envoyer au serveur puis et renvoyer au client (donc moi) du coup je me retrouve avec un client qui affiche 2 fois la même phrases (en plus c'est super moche)
y aurais t-il moyen "d'effacer" la commande rentrer ? mais sans effacer tout les messages reçu avant ? (donc pas system("CLS"); )
screen:
ICI
partie de la source qui gère les caractères:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 while(1) { printf("\n "); fgets(chaine, sizeof chaine, stdin); clean(chaine); snprintf(buffer, sizeof(buffer), "%s : %s ", pseudo, chaine); //snprintf n'affiche pas le message (temps mieux sinon y aurait 3x le même message) send(s, buffer, strlen(buffer), 0); }
pour me faire plus claire je vais vous montrer un exemple simple.
avec cette source:
j'obtiens se résulta dans la console:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36 #include <stdio.h> #include <string.h> static void purger(void) { int c; while ((c = getchar()) != '\n' && c != EOF) {} } static void clean (char *chaine) { char *p = strchr(chaine, '\n'); if (p) { *p = 0; } else { purger(); } } int main (void) { char chaine[20], chaine2[20]; printf("Tapez une phrase : \n"); fgets(chaine, sizeof chaine, stdin); clean(chaine); printf("Vous avez tape : '%s'", chaine); getchar(); }
enfaite je voudrais que le mot en rouge n'apparaisse pas tout en gardant la phrases du dessus et qu'on est comme résulta:Tapez une phrase :
bonjour
Vous avez tape : 'bonjour'
Tapez une phrase :
Vous avez tape : 'bonjour'
Partager