Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2117 connectés 

  FORUM HardWare.fr
  Programmation
  C

  string.h ??

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

string.h ??

n°707508
ombreee
Posté le 23-04-2004 à 20:02:06  profilanswer
 

J'aimerai savoir si les fonction de string.h (strcpy strcat strlen ect...) Sont dynamique ??? ( du genre je rentre 10 prenom 10 nom (chaine de caractere) ensuite je mais sa dans une boucle pour tout afficher en m'aidant de ses fonctions) ??? j'ai essayer et ca ne fonctionne pas ;(

mood
Publicité
Posté le 23-04-2004 à 20:02:06  profilanswer
 

n°707509
jagstang
Pa Capona ಠ_ಠ
Posté le 23-04-2004 à 20:04:14  profilanswer
 

je crains le pire. donne un bout de code. Tu entends quoi par "dynamique"

n°707516
ombreee
Posté le 23-04-2004 à 20:17:57  profilanswer
 

JagStang a écrit :

je crains le pire. donne un bout de code. Tu entends quoi par "dynamique"


 
oui je te donne un exemple par ex ca ca fonctionne :
 

Code :
  1. #include <string.h>
  2. #include <stdio.h>
  3. #include <stdlib.h>
  4. test ()
  5. {
  6. //declaration tableau premier deuxieme total
  7. char one[10],two[10],total[20] ;
  8. scanf("%s %s",one,two) ;
  9. strcpy(total,one) ;
  10. strcat(total," " ) ;
  11. strcat(total,two) ;
  12. printf("%s",total) ;
  13. }


 
la ca fonctionne mais par exemple je fait ca avec une boucle pour avoir plus chaines dans les 2 tableau je suis oblige de faire a la fin  
for(.;.;.)
printf("%s %s",one,two) ;
pour afficher toutes les chaines..  
et moi je voudrais passer par la premiere solution en utilisant string.h mais ca ne fonctionne pas :/

n°707521
ombreee
Posté le 23-04-2004 à 20:32:59  profilanswer
 

du genre :
 

Code :
  1. #include stdio.h
  2. #include stdlib.h
  3. #include string.h
  4. test()
  5. {
  6. //tableau 1 2 total
  7. char one[10][20],two[10][20],total[10][50] ;
  8. int a=0,b=0;
  9. test()
  10.     {
  11.  
  12. while(...)         
  13. {
  14. scanf("%s %s",one[a],two[a]) ;
  15. a++
  16. b++ ;
  17. }
  18.     for(..;..;a++)
  19.   {
  20. strcpy(total,one[a]) ;
  21. strcat(total," " ) ;
  22. strcat(total,two[a]) ;
  23. printf("%s\n",total) ;
  24.   }
  25.           }


Message édité par ombreee le 23-04-2004 à 20:34:36
n°707532
Taz
bisounours-codeur
Posté le 23-04-2004 à 21:12:42  profilanswer
 

1) utilise fgets ,jamais scanf + %s
2) tes chaines sont de tailles dynamiques : alloue les avec malloc/calloc, agrandit les avec realloc
3) ça serait bonne idée pour les débutants de vous proposer une bilbiothèque qui alloue à chaque fois une nouvelle chaine. là ya pas a réfléchir, suffit de free-er systématiquement

n°707533
ombreee
Posté le 23-04-2004 à 21:27:15  profilanswer
 

Taz a écrit :

1) utilise fgets ,jamais scanf + %s
2) tes chaines sont de tailles dynamiques : alloue les avec malloc/calloc, agrandit les avec realloc
3) ça serait bonne idée pour les débutants de vous proposer une bilbiothèque qui alloue à chaque fois une nouvelle chaine. là ya pas a réfléchir, suffit de free-er systématiquement


 
merci du conseil


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C

  string.h ??

 

Sujets relatifs
Question sur startWith de StringANSI C++ Conversion int to string
Conversion simple de StringColor -> int -> String "héxadécimale"
conversion string -> char *Comment transformer un Array en String
convertir un String en Date[C#] Créer 1 instance d'1 classe en connaissant son nom (string)
convertir un string en double, question APISupprimer les caracteres invisibles dans un string
Plus de sujets relatifs à : string.h ??


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)