Mieux d?une chaîne ?

Signaler
Messages postés
334
Date d'inscription
samedi 12 janvier 2002
Statut
Membre
Dernière intervention
3 juillet 2010
-
Messages postés
3011
Date d'inscription
jeudi 26 septembre 2002
Statut
Membre
Dernière intervention
27 novembre 2004
-
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

Messages postés
1536
Date d'inscription
samedi 21 décembre 2002
Statut
Membre
Dernière intervention
24 mai 2009
2
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 :)

++
Messages postés
334
Date d'inscription
samedi 12 janvier 2002
Statut
Membre
Dernière intervention
3 juillet 2010

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
Messages postés
3011
Date d'inscription
jeudi 26 septembre 2002
Statut
Membre
Dernière intervention
27 novembre 2004
8
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)
Messages postés
3011
Date d'inscription
jeudi 26 septembre 2002
Statut
Membre
Dernière intervention
27 novembre 2004
8
et retourne un char * !!!

char * Mid(const char *szBuffer ,int i, int j, char *buffer)