printf("\nLe resultat du 1er n connu donne : [%c]", resultat);
return 0;
}
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 :
#include <stdio.h>
#include <string.h>
int main()
{
char* string = "une chaine de caracteres";
char* resultat;
resultat = strstr(string,"n" );
printf("\nLe resultat du 1er n connu donne : [%c]", resultat);
return 0;
}
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 :
#include <stdio.h>
#include <string.h>
int main()
{
char* string = "une chaine de caracteres";
char* resultat;
resultat = strstr(string,"n" );
printf("\nLe resultat du 1er n connu donne : [%c]", resultat);
return 0;
}
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 :
#include <stdio.h>
#include <string.h>
char* string = "une chaine de caracteres";
char* resultat;
resultat = strstr (string, " " );
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.