get string!!

get string!! - C++ - Programmation

Marsh Posté le 12-05-2002 à 23:00:10    

comment utiliser la fonction "gets" avec un "char*"!!!!!!
 
en allocation static c'est :
void main()
{
char chaine[100];
gets(chaine);
}
 
et ça marche..Mais avec un char*??
 
char* chaine;
gets(????);
 
 
ned help plz!!
 
cya :hello:


---------------
GUILINUX-HANDOVER
Reply

Marsh Posté le 12-05-2002 à 23:00:10   

Reply

Marsh Posté le 12-05-2002 à 23:06:46    

comme ceci:
 
void main(void) {
   char *chaine = (char *) malloc (100);
   gets(chaine);
   free (chaine);
}

 

[jfdsdjhfuetppo]--Message édité par Harkonnen le 12-05-2002 à 23:07:46--[/jfdsdjhfuetppo]


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 12-05-2002 à 23:12:25    

Harkonnen a écrit a écrit :

comme ceci:
 
void main(void) {
   char *chaine = (char *) malloc (100);
   gets(chaine);
   free (chaine);
}  
 
 




 
le malloc(100) limite ma saisie de chaine à 100 caractères(non)??
 
si je veux faire de l'alocation dynamique (en gros je ne veux pas ke l'utilisateur soit limité à la saisie de la chaine!!


---------------
GUILINUX-HANDOVER
Reply

Marsh Posté le 12-05-2002 à 23:17:07    

Ben utilise fgetc et stocke les caractères dans une liste de blocs mémoire alloués dynamiquement.

Reply

Marsh Posté le 12-05-2002 à 23:36:46    

Verdoux a écrit a écrit :

Ben utilise fgetc et stocke les caractères dans une liste de blocs mémoire alloués dynamiquement.  




 :jap:  
Je n'aurais pas dit mieux !


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 12-05-2002 à 23:38:09    

GuillaumeH a écrit a écrit :

 
 
le malloc(100) limite ma saisie de chaine à 100 caractères(non)??
 




J'ai juste repris ton exemple ou tu déclarais un tableau de 100 caractères...


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 12-05-2002 à 23:38:34    

Harkonnen a écrit a écrit :

 
 :jap:  
Je n'aurais pas dit mieux !  




Mais va-t-il y comprendre quelque chose ? :D

Reply

Marsh Posté le 12-05-2002 à 23:41:19    

Verdoux a écrit a écrit :

 
Mais va-t-il y comprendre quelque chose ? :D  




Ca va être la surprise.... :??:  :D


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 13-05-2002 à 07:23:41    

Harkonnen a écrit a écrit :

 
Ca va être la surprise.... :??:  :D  




 
ta raison...j'y comprends pas grang chose!!!
 
 :D


---------------
GUILINUX-HANDOVER
Reply

Marsh Posté le 13-05-2002 à 10:07:55    

Bon je vais t'aider un peu...
 
Tu alloues d'abord un bloc de mémoire d'un octet via malloc().
 
Tu lis un caractère via fgetc() (ou getchar() si tu utilises stdin comme périph d'entrée), et tu stockes ce caractère dans ton espace précédemment alloué.
 
Puis tu continues à lire des caractères. A chaque fois qu'un caractère est lu, tu le stockes dans ton espace, que tu auras pris soin d'agrandir d'un octet via la fonction realloc().
 
A toi de jouer, je t'ai tout dit.


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 13-05-2002 à 10:07:55   

Reply

Marsh Posté le 13-05-2002 à 19:12:41    

Harkonnen a écrit a écrit :

Bon je vais t'aider un peu...
 
Tu alloues d'abord un bloc de mémoire d'un octet via malloc().
 
Tu lis un caractère via fgetc() (ou getchar() si tu utilises stdin comme périph d'entrée), et tu stockes ce caractère dans ton espace précédemment alloué.
 
Puis tu continues à lire des caractères. A chaque fois qu'un caractère est lu, tu le stockes dans ton espace, que tu auras pris soin d'agrandir d'un octet via la fonction realloc().
 
A toi de jouer, je t'ai tout dit.  




 
merci bcp je teste!!
 :hello:


---------------
GUILINUX-HANDOVER
Reply

Sujets relatifs:

Leave a Replay

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