printf ne marche po..... [C + linux] - Programmation
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 ...
Marsh Posté le 24-04-2001 à 03:04:52
file le code complet. Pas de warning a la compile?
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...
Marsh Posté le 24-04-2001 à 08:47:34
Fais un fflush(stdio) ca vide le buffer ca devrait marche apres...
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
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
Marsh Posté le 24-04-2001 à 17:23:45
Même sans le fflush (avec une slackware 7.0).
Ta MDK doit être pourrie
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?
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....
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+,
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.
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+,
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 ;-)
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. :-)
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??