Mieux d?une chaîne ?

cs_JCpp Messages postés 334 Date d'inscription samedi 12 janvier 2002 Statut Membre Dernière intervention 3 juillet 2010 - 31 juil. 2004 à 11:57
cs_djl Messages postés 3011 Date d'inscription jeudi 26 septembre 2002 Statut Membre Dernière intervention 27 novembre 2004 - 31 juil. 2004 à 14:37
Bonjour,
Je voudrai récupérer le mieux d'une chaîne de caractère dans un Buffer.

Par exemple, ci il y a dans le buffer Bonjour, je voudrai
Je voudrais njo

merci

4 réponses

cs_AlexMAN Messages postés 1536 Date d'inscription samedi 21 décembre 2002 Statut Membre Dernière intervention 24 mai 2009 1
31 juil. 2004 à 13:01
Le milieu !!
Bon pas compliké, mais fo savoir kombien de lettre recuperer :

char *Bon = "Bonjour", *b;int i strlen(Bon) / 2 - 1; // 1 paske 3/2 1.5 => 1
int j = 0;
char Buffer[128];

b = (Bon + i);
strncpy(Buffer, b, 3);

Voila, essaye ca, ca devrait marcher :)

++
0
cs_JCpp Messages postés 334 Date d'inscription samedi 12 janvier 2002 Statut Membre Dernière intervention 3 juillet 2010
31 juil. 2004 à 14:00
Merci encore,
Tu sais pourquoi stp, j'obtiens juste la lettre o ?

char Mid(char *szBuffer ,int i, int j)
{
char Buffer[100];
strncpy(Buffer,szBuffer+i,j);
Buffer[j]='\0';
return *Buffer;
}


       char szBuffer=Mid("Bonjour",1,3);


merci, bcp
0
cs_djl Messages postés 3011 Date d'inscription jeudi 26 septembre 2002 Statut Membre Dernière intervention 27 novembre 2004 7
31 juil. 2004 à 14:36
ta fonction ne peut pas marcher, tu retourne une adresse invalide (Buffer est allloué sur la pile)
passe plutot buffer en parametre

char Mid(const char *szBuffer ,int i, int j, char *buffer)
0
cs_djl Messages postés 3011 Date d'inscription jeudi 26 septembre 2002 Statut Membre Dernière intervention 27 novembre 2004 7
31 juil. 2004 à 14:37
et retourne un char * !!!

char * Mid(const char *szBuffer ,int i, int j, char *buffer)
0
Rejoignez-nous