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

  FORUM HardWare.fr
  Programmation

  [C] strstr ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[C] strstr ?

n°176327
chaica
Posté le 15-07-2002 à 12:49:25  profilanswer
 

J'ai deux chaînes. ch1 contient ch2. Je veux trouver la position dans ch1 du premier caractère de ch2.
 
Comment puis je faire? Je ne comprends pas bien la fonctionnement de strstr.
 
Merci d'avance!
 
CHaiCA

mood
Publicité
Posté le 15-07-2002 à 12:49:25  profilanswer
 

n°176329
prettysmil​e
Sourire est un devoir social
Posté le 15-07-2002 à 12:58:55  profilanswer
 


       

Code :
  1. #include <stdio.h>
  2.         #include <string.h>
  3.         char* string = "une chaine de caracteres";
  4.         char* resultat;
  5.         resultat = strstr (string, " " );
  6.         printf ("\nLa recherche du 1er blanc donne : [%s]\n ", resultat);


strstr, semble effectivement être ce dont tu as besoin, pour le problème de compréhension, le mieux c'est de se taper un petit bout de code et de faire varier les paramètres

n°176330
lorill
Posté le 15-07-2002 à 12:59:50  profilanswer
 

ou encore man strstr ca peut aider...

n°176334
chaica
Posté le 15-07-2002 à 13:05:13  profilanswer
 

J'ai un "incompatible types in assignement" au niveau de :
 resultat = strstr (string, " " );  
 
CHaiCA

n°176336
prettysmil​e
Sourire est un devoir social
Posté le 15-07-2002 à 13:06:53  profilanswer
 

chaica a écrit a écrit :

J'ai un "incompatible types in assignement" au niveau de :
 resultat = strstr (string, " " );  
 
CHaiCA




normal, j'ai pas alloué résultat. pour pas t'embêter avec ça tu fait char resultat[200];
edit: avant que tu demandes: tu fais pareil avec string


Message édité par prettysmile le 15-07-2002 à 13:08:24
n°176341
antp
Super Administrateur
Champion des excuses bidons
Posté le 15-07-2002 à 13:13:12  profilanswer
 

heu faut pas allouer resultat, vu que strstr te retourne un pointeur de char, et non pas vraiment une chaîne (vu qu'en C on ne sait pas le faire)


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°176342
prettysmil​e
Sourire est un devoir social
Posté le 15-07-2002 à 13:14:08  profilanswer
 

antp a écrit a écrit :

heu faut pas allouer resultat, vu que strstr te retourne un pointeur de char, et non pas vraiment une chaîne (vu qu'en C on ne sait pas le faire)




dsl, en digestion, puis le problème ça semblait être strstr!

n°176343
chaica
Posté le 15-07-2002 à 13:15:08  profilanswer
 

Je vais me faire taper sur les doigts mais je pige pas ton code.
 
-Déclaration des deux strings OK
 resultat = strstr (string, " " ); // la fonction strstr te retourne un pointeur qui indique l'emplacement de l'occurence de la chaîne recherchée dans la chaine principale.
 
printf ("\nLa recherche du 1er blanc donne : [%s]\n ", resultat);[/cpp]  // là tu veux faire apparaître un pointeur? je pige pas. Moi ce que je voudrais c'est une position dans la chaine genre string[3] qui me permette de faire apparaître le premier caractère de la chaîne recherchée par la suite.
 
CHaiCA
 

n°176344
prettysmil​e
Sourire est un devoir social
Posté le 15-07-2002 à 13:17:55  profilanswer
 

chaica a écrit a écrit :

Je vais me faire taper sur les doigts mais je pige pas ton code.
 
-Déclaration des deux strings OK
 resultat = strstr (string, " " ); // la fonction strstr te retourne un pointeur qui indique l'emplacement de l'occurence de la chaîne recherchée dans la chaine principale.
 
printf ("\nLa recherche du 1er blanc donne : [%s]\n ", resultat);  // là tu veux faire apparaître un pointeur? je pige pas. Moi ce que je voudrais c'est une position dans la chaine genre string[3] qui me permette de faire apparaître le premier caractère de la chaîne recherchée par la suite.
 
CHaiCA
 
 




ben le premier caractère c'est resultat[0]
t'as lancé ce code? qu'obtiens tu à l'affichage?

n°176358
chaica
Posté le 15-07-2002 à 13:48:33  profilanswer
 

Voila mon code:  
 
 

Code :
  1. #include <stdio.h>
  2. #include <string.h>
  3. int main()
  4. {
  5. char* string = "une chaine de caracteres";
  6. char* resultat;
  7. resultat = strstr(string,"n" );
  8. printf("\nLe resultat du 1er n connu donne : [%c]", resultat);
  9. return 0;
  10. }


 
et j'ai comme resultat à l'execution :
 
Le resultat du 1er n connu donne : [`]
 
ChaiCA


Message édité par chaica le 15-07-2002 à 13:49:37
mood
Publicité
Posté le 15-07-2002 à 13:48:33  profilanswer
 

n°176361
prettysmil​e
Sourire est un devoir social
Posté le 15-07-2002 à 13:52:23  profilanswer
 

chaica a écrit a écrit :

Voila mon code:  
 
 

Code :
  1. #include <stdio.h>
  2. #include <string.h>
  3. int main()
  4. {
  5. char* string = "une chaine de caracteres";
  6. char* resultat;
  7. resultat = strstr(string,"n" );
  8. printf("\nLe resultat du 1er n connu donne : [%c]", resultat);
  9. return 0;
  10. }


 
et j'ai comme resultat à l'execution :
 
Le resultat du 1er n connu donne : [`]
 
ChaiCA




heu... resultat, a priori c char* donc pour l'afficher %s, si tu veux afficher un caractère de resultat, il faut indiquer un indic (resultat[0] par ex)

n°176364
darkoli
Le Petit Dinosaure Bleu
Posté le 15-07-2002 à 13:54:23  profilanswer
 

chaica a écrit a écrit :

Voila mon code:  
 
 

Code :
  1. #include <stdio.h>
  2. #include <string.h>
  3. int main()
  4. {
  5. char* string = "une chaine de caracteres";
  6. char* resultat;
  7. resultat = strstr(string,"n" );
  8. printf("\nLe resultat du 1er n connu donne : [%c]", resultat);
  9. return 0;
  10. }


 
et j'ai comme resultat à l'execution :
 
Le resultat du 1er n connu donne : [`]
 
ChaiCA




 
printf("\nLe resultat du 1er n connu donne : [%d]", resultat-string);
 
Là tu auras la position !!!
 
Et avant de faire chaine[resultat-string], contrôle la valeur de resultat. (NULL ???).


---------------
Le site de l'année :D (XHTML 1.0 strict) : http://darkoli.free.fr/index.html
n°176369
chaica
Posté le 15-07-2002 à 14:02:04  profilanswer
 

Merci DarkOli , exactement ce que je voulais!
 
Bon je vais étudier ca un peu et continuer.
 
Merci à tout ceux qui sont intervenus!
 
CHaiCA
 
 


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

  [C] strstr ?

 

Sujets relatifs
[C] Problème avec strstr[C] comment utiliser strstr() dans string.h ...
A quoi sert strstr() en C 
Plus de sujets relatifs à : [C] strstr ?


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