Comment faire pour reouvrir la sortie standar

Résolu/Fermé
rockool Messages postés 54 Date d'inscription samedi 28 mars 2009 Statut Membre Dernière intervention 3 janvier 2012 - 12 avril 2009 à 17:55
 Marc - 7 sept. 2009 à 08:39
Bonjour,

Est-ce que quelqu'un veut bien m'aider avec ce code...la dernière ligne
ne veut pas s'afficher. Comment faire pour réouvrir la sortie standard?
je veux parler de stdout

#include <stdio.h>

void main(void){
printf("Bonjour les z%cros!", 130);
fclose(stdout);
printf("Au revoir les z%cros", 130);
}
A voir également:

7 réponses

lucieb31 Messages postés 345 Date d'inscription mercredi 14 janvier 2009 Statut Membre Dernière intervention 28 juillet 2012 62
12 avril 2009 à 18:11
mé un \n a l'interieur des " " la fin de tes printf.
@+
0
rockool Messages postés 54 Date d'inscription samedi 28 mars 2009 Statut Membre Dernière intervention 3 janvier 2012 9
12 avril 2009 à 18:11
...et tu penses qu'un retour chariot pourrait regler l'affaire?
0
lucieb31 Messages postés 345 Date d'inscription mercredi 14 janvier 2009 Statut Membre Dernière intervention 28 juillet 2012 62
12 avril 2009 à 18:14
c'est une possibilité, ça te permet de vider le buffer, et je sais que plusieurs fois il m'a fallu ajouter un \n pour que la ligne s'affiche
0
rockool Messages postés 54 Date d'inscription samedi 28 mars 2009 Statut Membre Dernière intervention 3 janvier 2012 9
12 avril 2009 à 18:18
...tu penses que ça pourrait marcher avec un fflush(stdout)?
0
lucieb31 Messages postés 345 Date d'inscription mercredi 14 janvier 2009 Statut Membre Dernière intervention 28 juillet 2012 62
12 avril 2009 à 18:19
tu peux essayer mais j'en suis pas sur
0
rockool Messages postés 54 Date d'inscription samedi 28 mars 2009 Statut Membre Dernière intervention 3 janvier 2012 9
12 avril 2009 à 18:20
dak...je vais essaye
0
lucieb31 Messages postés 345 Date d'inscription mercredi 14 janvier 2009 Statut Membre Dernière intervention 28 juillet 2012 62
12 avril 2009 à 18:23
aussi, c'est etonnant que tu n'ai pas d'erreur parce que main renvoit un int normalement
0
rockool Messages postés 54 Date d'inscription samedi 28 mars 2009 Statut Membre Dernière intervention 3 janvier 2012 9
12 avril 2009 à 18:25
non...pas dans ce cas...j'ai mis void devant; t'as remarque?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
lucieb31 Messages postés 345 Date d'inscription mercredi 14 janvier 2009 Statut Membre Dernière intervention 28 juillet 2012 62
12 avril 2009 à 18:26
oui mais normalement pour ton programme soit ecrit correctement, il te faut mettre int

http://www.cpptalk.net/pourquoi-int-main-et-pas-void-main--vt26546.html
0
rockool Messages postés 54 Date d'inscription samedi 28 mars 2009 Statut Membre Dernière intervention 3 janvier 2012 9
12 avril 2009 à 18:32
merci a toi lucieb31... pour ton argumentation. Au fait, je mets presqu'en general void devant main(). Je vais faire de maxima efforts pour changer cette habitude ;-)
0
rockool Messages postés 54 Date d'inscription samedi 28 mars 2009 Statut Membre Dernière intervention 3 janvier 2012 9
12 avril 2009 à 18:47
Excusez moi, vous pensez qu'on peut creer un tableau de fonctions en langage C?
0
lucieb31 Messages postés 345 Date d'inscription mercredi 14 janvier 2009 Statut Membre Dernière intervention 28 juillet 2012 62
12 avril 2009 à 18:51
oui, mais ça a l'air compliqué, regarde là : https://c.developpez.com/cours/poly-c/?page=page_6#LVI-C-3
pourquoi veux tu faire ça ?
0
Du grand n'importe quoi ce site !
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 842
12 avril 2009 à 18:56
Salut,
Même s'il est vrai qu'il faut vider le buffer pour l'afficher, l'erreur est ailleurs.
Tu fais fclose(stdout). Autrement dit tu fermes la sortie standard. Donc tu ne peux plus écrire dessus. Après tu pourras faire une redirection sur un fichier. Ainsi en faisant puts("coucou"); cela écrira dans le fichier. Mais tu ne pourras plus récrire sur l'écran.
0
rockool Messages postés 54 Date d'inscription samedi 28 mars 2009 Statut Membre Dernière intervention 3 janvier 2012 9
7 sept. 2009 à 01:27
merci a toi fiddy, je te remercie de ton aide.
0