[C + linux] printf ne marche po.....

printf ne marche po..... [C + linux] - Programmation

Marsh Posté le 23-04-2001 à 08:41:26    

J'ai voulu faire du C sous linux (Mandrake 7.2), et je fais juste un main(void) avec un printf dedans, mais il n'affiche rien a l'ecran....
Lorsque je fais un gdb, la il veut bien afficher le message...
Porukoi il n'affcihe rien en mode console??

Reply

Marsh Posté le 23-04-2001 à 08:41:26   

Reply

Marsh Posté le 23-04-2001 à 08:48:08    

Sous UNIX, les chaine sont foutues dans un buffer et ce buffer n'est vidé pour etre affiché que quand tu vas a la ligne ...
en clair :
printf("Veillez saisir un nombre : " );
scanf( ... );
printf("Merci\n);
 
ca fera rien, puis quand tu entrera un nombre ca affichera :
"Veillez saisir un nombre : Merci"
 
donc met un "\n" a la fin de ton message ...


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
Reply

Marsh Posté le 23-04-2001 à 20:49:21    

toujours pas; malgre le \n

Reply

Marsh Posté le 23-04-2001 à 20:52:53    

?? donne ton printf !

Reply

Marsh Posté le 23-04-2001 à 20:56:47    

printf("hello, world\n" );

Reply

Marsh Posté le 24-04-2001 à 03:04:52    

file le code complet. Pas de warning a la compile?


---------------
A Plus Donc...  [:jls]
Reply

Marsh Posté le 24-04-2001 à 08:42:51    

c'est pas trop complique:
 
#include <stdio.h>
 
int main (void)
{
printf("hello world \n" );
}
 
gcc test.c -o test  -> pas d'erreur
 
Ne veut pas marcher...

Reply

Marsh Posté le 24-04-2001 à 08:47:34    

Fais un fflush(stdio) ca vide le buffer ca devrait marche apres...

Reply

Marsh Posté le 24-04-2001 à 09:33:37    

Heu ?
 
1)
#include <stdio.h>  
int main (void)  
{  
printf("hello world \n" );  
return 0;
}  
 
2)
#include <stdio.h>  
 
main ()  
{  
printf("hello world \n" );  
}  
 
Dans ton code, tu as déclaré main comme étant une fonction retournant un int. Or, tu ne retourne rien du tout dans ton code ! Voilà pourquoi ça plante. Gcc compile le programme sans trouver d'erreur, normal, il peut pas tout deviner non plus :)


---------------
Samsung Galaxy S1 -> Samsung Galaxy S2 -> Samsung Note 2 -> Huawei Ascend Mate 7 -> ZTE Axon 7 -> OnePlus 6T -> Oppo Find X2 PRO -> Google Pixel 9 PRO XL
Reply

Marsh Posté le 24-04-2001 à 17:05:51    

non, il ne plante pas, vu qu'en GDB il veut bien me l'afficher ce p*** de message! De plus, j'avais un void et c'est gcc qui veut un int.. de plus a l'iut je fais pareil et ca marche

Reply

Marsh Posté le 24-04-2001 à 17:05:51   

Reply

Marsh Posté le 24-04-2001 à 17:16:49    

essaye le fflush(stdio) ca marche...

Reply

Marsh Posté le 24-04-2001 à 17:23:45    

Même sans le fflush (avec une slackware 7.0).
Ta MDK doit être pourrie :D

Reply

Marsh Posté le 24-04-2001 à 22:14:27    

Ok essaye avec un ggc -Wall -pedantic. Tu fait toto ou ./toto pour executer ton prog?


---------------
A Plus Donc...  [:jls]
Reply

Marsh Posté le 24-04-2001 à 22:20:23    

Verdoux sous ma mandrake il y a un les printf ne "marchait pas" a moins de faire les fflush... Cest pour ca que je conseille a trictrac le fflush....  :)

Reply

Marsh Posté le 24-04-2001 à 23:20:12    

Ce serait pas parce que ton programme s'apelle test??
Test c'est un programme unix, et il se pourait que tu ne lances pas le bon a l'execution (erreur hyper classique).
Reessayes avec: gcc test.c -o mytest  
A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
Reply

Marsh Posté le 24-04-2001 à 23:29:34    

Arf, il a raison Gilou, test existe déjà sous unix, essaye plutôt ./test pour lancer ton prog.

Reply

Marsh Posté le 25-04-2001 à 04:40:40    

Quel est le programmeur C sous unix qui ne s'y est pas laisse prendre au moins une fois dans sa vie?
C'est un grand classique ce pseudo-bug.
A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
Reply

Marsh Posté le 25-04-2001 à 08:31:09    

quel con... j'essaie ca des ce soir... et je me flagelle publiquement si c'est ca; D'ailleur, vous etes tous invites ;-)

Reply

Marsh Posté le 26-04-2001 à 08:37:19    

Effectivement,  ./test marche impec, donc comme promis, flagellation sur la place publique ce midi.... vous etes tous convies a venir assister a ce repenti. :-)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed