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 :
J'ai essayé d'utiliser strncpy mais visiblement je l'utilise mal car j'obtiens toujours la totalité des caractères de "str".
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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; }
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.
Partager