Problème de manipulation de chaine
bonjour,
j'ai un petit problème de manipulation de char *. En fait, je souhaite faire une copie d'un buffer, qui parfois contient des caractères parasites et donc de ne copier qu'une partie de celui-ci.
voici le code :
Code:
1 2 3 4 5 6 7 8
|
char *copier(const char *str, int taille) {
size_t t = taille;
std::cout<<"Dans copier : taille --> " << taille << " et t --> " << t <<std::endl;
char * retour = new char[t];
strncpy(retour, str, t);
return retour;
} |
J'ai essayé d'utiliser strncpy mais visiblement je l'utilise mal car j'obtiens toujours la totalité des caractères de "str".
Pour info le buffer que je reçois dans la méthode copier est alimenté lors de la lecture d'une socket. Je ne controle donc pas son contenu ni sa taille.
merci d'avance.