[C] != entre fgets() et scanf()

!= entre fgets() et scanf() [C] - Programmation

Marsh Posté le 18-07-2002 à 20:18:08    

Salut,
 
En fait tout est dans le titre, quelle est la différence?
 
Et aussi quelle est la != entre :
 

Code :
  1. char *a = new char[10];


 
et
 

Code :
  1. char *a;
  2. a = malloc(10);


 
merci, @++
 
jujuuuuuuuuuu !!!!!!!!!!!


---------------
Visitez mon site : http://www.jujubarbare.linux-fan.com
Reply

Marsh Posté le 18-07-2002 à 20:18:08   

Reply

Marsh Posté le 18-07-2002 à 20:34:04    

respectivement version c++ et version c
 
 :)  :)


---------------
le sage a parlé
Reply

Marsh Posté le 18-07-2002 à 20:36:38    

new appel l'allocation de mémoir, rajoute éventuellemnt un pointeur vers la table des méthodes virtuelles puis appel le contructeur sur l'espace méoir alloué, c la seul différence.
 
fgets te permet de récupérer tout une ligne, scanf s'arréte au premier espace


---------------
Le Tyran
Reply

Marsh Posté le 18-07-2002 à 20:58:27    

LetoII a écrit a écrit :

new appel l'allocation de mémoir, rajoute éventuellemnt un pointeur vers la table des méthodes virtuelles puis appel le contructeur sur l'espace méoir alloué, c la seul différence.
 
fgets te permet de récupérer tout une ligne, scanf s'arréte au premier espace




 :non: scanf ne s'arrête pas au premier espace forcément, on peut lui passer de véritables masque afin de récupèrer plusieurs infos sur une seule ligne  :jap:


---------------
Guerre Dollar - Euro : la chute economique des Etats-Unis avant 2010.
Reply

Marsh Posté le 18-07-2002 à 21:01:11    

Oui effectivement, mais le comportement de base quand on récupère une chaîne c ça, et pour lui faire récupérer tout une ligne d'un coup c le bordel tout de même


---------------
Le Tyran
Reply

Marsh Posté le 18-07-2002 à 21:03:43    

LetoII a écrit a écrit :

Oui effectivement, mais le comportement de base quand on récupère une chaîne c ça, et pour lui faire récupérer tout une ligne d'un coup c le bordel tout de même




bah non:
 

Code :
  1. Désolé je corrige :
  2. scanf("%[^\n]\n", pBuf);
  3. et non :
  4. scanf("%s\n", pBuf);


 
Ma mémoire me fait défaut  :sweat:  
 
 
 


Message édité par Zeux le 18-07-2002 à 21:07:38

---------------
Guerre Dollar - Euro : la chute economique des Etats-Unis avant 2010.
Reply

Marsh Posté le 18-07-2002 à 21:04:44    

zeux a écrit a écrit :

 
bah non:
 

Code :
  1. scanf("%s\n", pBuf);






 
C pas garanti que ça marche ça, je l'ai déja vu foirer en beauté


---------------
Le Tyran
Reply

Marsh Posté le 18-07-2002 à 21:07:57    

LetoII a écrit a écrit :

 
 
C pas garanti que ça marche ça, je l'ai déja vu foirer en beauté




Regarde mon post je me suis planté ;)


---------------
Guerre Dollar - Euro : la chute economique des Etats-Unis avant 2010.
Reply

Marsh Posté le 18-07-2002 à 21:45:41    

Merci vous 3 ;)


---------------
Visitez mon site : http://www.jujubarbare.linux-fan.com
Reply

Marsh Posté le 18-07-2002 à 22:03:32    

zeux a écrit a écrit :

 
Regarde mon post je me suis planté ;)




 
HeHe là dacord :)


---------------
Le Tyran
Reply

Sujets relatifs:

Leave a Replay

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