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

 


Dernière réponse
Sujet : [C] strstr ?
chaica Merci DarkOli , exactement ce que je voulais!
 
Bon je vais étudier ca un peu et continuer.
 
Merci à tout ceux qui sont intervenus!
 
CHaiCA
 
 

Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
chaica Merci DarkOli , exactement ce que je voulais!
 
Bon je vais étudier ca un peu et continuer.
 
Merci à tout ceux qui sont intervenus!
 
CHaiCA
 
 
darkoli

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 ???).

prettysmile

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)

chaica 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

prettysmile

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?

chaica 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
 
prettysmile

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!

antp 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)
prettysmile

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

chaica J'ai un "incompatible types in assignement" au niveau de :
 resultat = strstr (string, " " );  
 
CHaiCA
lorill ou encore man strstr ca peut aider...
prettysmile
       

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

chaica 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

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