Questions sur fgets

Questions sur fgets - C++ - Programmation

Marsh Posté le 24-07-2002 à 18:50:54    

Voila un programme tout con qui ne marche pas. Par contre si je mets char nom[max_nom] ca passe très bien. Ca doit être tout con mais ...
 

Code :
  1. #include <stdio.h>
  2. #define max_nom 30
  3. int main()
  4. {
  5.   char *nom = (char*)malloc(max_nom * sizeof(char));
  6.   printf("\nentrer le nom\n" );
  7.   fgets(nom,sizeof nom,stdin);
  8.   fflush(stdin);
  9.   printf("%s\n",nom);
  10.   free(nom);
  11.   return 0;
  12. }


 
CHaiCA


Message édité par chaica le 24-07-2002 à 18:51:48
Reply

Marsh Posté le 24-07-2002 à 18:50:54   

Reply

Marsh Posté le 24-07-2002 à 18:55:03    

met strlen(nom) au lieu de sizeof(nom) parce que là tu prends la taille du pointeur ;)

Reply

Marsh Posté le 24-07-2002 à 19:00:11    

ouah merci Syl! Encore un coup de ces satanés pointeurs :D
 
CHaiCA

Reply

Marsh Posté le 24-07-2002 à 19:01:40    

strlen t'as pas intérêt :D
 
strlen donne la taille utilisée, pas la taille allouée


Message édité par antp le 24-07-2002 à 19:02:36

---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 24-07-2002 à 19:03:26    

vi vi exact
faut mettre max_nom
 
sorry, c'est la fatigue, j'croyais qu'il lisais qq chose avant :jap:

Reply

Marsh Posté le 24-07-2002 à 19:03:30    

Ouais ca marche pas encore hélas! Que faire que faire?
 
CHaiCA

Reply

Marsh Posté le 24-07-2002 à 19:05:29    

fgets(nom,sizeof(strlen(max_nom)),stdin);
 
C'est ca?
 
CHaiCA

Reply

Marsh Posté le 24-07-2002 à 19:06:20    

Alors là tu fais vraiment nimp ! lol
 

Code :
  1. fgets(nom,max_nom,stdin);

Reply

Marsh Posté le 24-07-2002 à 19:07:17    

Shame on me, mais quand je bloque je pose vraiment des questions de merde...
 
Merci pour tout et @++
 
CHaiCA

Reply

Sujets relatifs:

Leave a Replay

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