Comment faire pour reouvrir la sortie standar

Résolu
rockool Messages postés 54 Date d'inscription   Statut Membre Dernière intervention   -  
 Marc -
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   Statut Membre Dernière intervention   62
 
mé un \n a l'interieur des " " la fin de tes printf.
@+
0
rockool Messages postés 54 Date d'inscription   Statut Membre Dernière intervention   9
 
...et tu penses qu'un retour chariot pourrait regler l'affaire?
0
lucieb31 Messages postés 345 Date d'inscription   Statut Membre Dernière intervention   62
 
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   Statut Membre Dernière intervention   9
 
...tu penses que ça pourrait marcher avec un fflush(stdout)?
0
lucieb31 Messages postés 345 Date d'inscription   Statut Membre Dernière intervention   62
 
tu peux essayer mais j'en suis pas sur
0
rockool Messages postés 54 Date d'inscription   Statut Membre Dernière intervention   9
 
dak...je vais essaye
0
lucieb31 Messages postés 345 Date d'inscription   Statut Membre Dernière intervention   62
 
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   Statut Membre Dernière intervention   9
 
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   Statut Membre Dernière intervention   62
 
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   Statut Membre Dernière intervention   9
 
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   Statut Membre Dernière intervention   9
 
Excusez moi, vous pensez qu'on peut creer un tableau de fonctions en langage C?
0
lucieb31 Messages postés 345 Date d'inscription   Statut Membre Dernière intervention   62
 
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
Marc
 
Du grand n'importe quoi ce site !
0
fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   1 846
 
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   Statut Membre Dernière intervention   9
 
merci a toi fiddy, je te remercie de ton aide.
0