 |
C++Talk.NET C++ language newsgroups
|
| View previous topic :: View next topic |
| Author |
Message |
Assault Override Guest
|
Posted: Thu Jul 28, 2005 10:16 pm Post subject: STRCAT STRCPY .... |
|
|
Bonjour,
Je développe actuellement en petit logiciel de cryptage/décryptage, cela fonctionne très simplement.
Le problème est que quand j'utilise la fonction strcat ou strcpy ca plante.
Alors non, je n'ai pas oublié de déclaré string.h et j'ai aussi pris mon temps pour aller dans string.h voir comment fonctionné la fonction que j'utilisé sur turbo c++ 3.0.
Ne connaissant pas d'autres méthodes de concaténation je me demandais si vous pouviez m'aider.
Merci d'avance pour votre aide.
Assault_Override
--------------= Posted using GrabIt =----------------
------= Binary Usenet downloading made easy =---------
-= Get GrabIt for free from http://www.shemes.com/ =-
|
|
| Back to top |
|
 |
Loïc Joly Guest
|
Posted: Fri Jul 29, 2005 12:00 am Post subject: Re: STRCAT STRCPY .... |
|
|
Assault Override a écrit :
| Quote: | Bonjour,
Je développe actuellement en petit logiciel de cryptage/décryptage, cela fonctionne très simplement.
Le problème est que quand j'utilise la fonction strcat ou strcpy ca plante.
Alors non, je n'ai pas oublié de déclaré string.h et j'ai aussi pris mon temps pour aller dans string.h voir comment fonctionné la fonction que j'utilisé sur turbo c++ 3.0.
Ne connaissant pas d'autres méthodes de concaténation je me demandais si vous pouviez m'aider.
|
En C++, on utilise plus souvent std::string, et tout devient plus simple :
std::string s1 = "Bonjour ";
std::string s2 = "à tous";
std::string s = s1 + s2;
--
Loïc
|
|
| Back to top |
|
 |
Richard Delorme Guest
|
Posted: Fri Jul 29, 2005 6:16 am Post subject: Re: STRCAT STRCPY .... |
|
|
Loïc Joly a écrit :
| Quote: | Assault Override a écrit :
Bonjour,
Je développe actuellement en petit logiciel de cryptage/décryptage,
cela fonctionne très simplement.
Le problème est que quand j'utilise la fonction strcat ou strcpy ca
plante.
Alors non, je n'ai pas oublié de déclaré string.h et j'ai aussi pris
mon temps pour aller dans string.h voir comment fonctionné la fonction
que j'utilisé sur turbo c++ 3.0.
Ne connaissant pas d'autres méthodes de concaténation je me demandais
si vous pouviez m'aider.
En C++, on utilise plus souvent std::string, et tout devient plus simple :
std::string s1 = "Bonjour ";
std::string s2 = "à tous";
std::string s = s1 + s2;
|
L'OP risque de chercher longtemps... std::string n'existe pas dans turbo
c++ 3.0. Cela dit, il existe plein de compilateur plus récent qui
doivent supporter std::string, par exemple borland C++ 5.5, pour rester
dans la même marque :
http://community.borland.com/article/0,1410,20633,00.html
--
Richard
|
|
| Back to top |
|
 |
Erwann ABALEA Guest
|
Posted: Fri Jul 29, 2005 6:19 am Post subject: Re: STRCAT STRCPY .... |
|
|
Bonjour,
On Fri, 29 Jul 2005, Assault Override wrote:
| Quote: | Je développe actuellement en petit logiciel de cryptage/décryptage, cela fonctionne très simplement.
Le problème est que quand j'utilise la fonction strcat ou strcpy ca plante.
|
Etes-vous sûr que les données que vous manipulez (clair et chiffré) sont
bien des chaînes au sens C? En général, quand on fait de la crypto, ça
n'est pas le cas, justement, on manipule des suite d'octets.
Une chaîne en C est *forcément* terminée par un caractère NUL (0x00).
--
Erwann ABALEA <erwann (AT) abalea (DOT) com> - RSA PGP Key ID: 0x2D0EABD5
-----
That's not a bug, that's a feature.
|
|
| Back to top |
|
 |
Yalbrieux Guest
|
Posted: Fri Jul 29, 2005 11:17 am Post subject: Re: STRCAT STRCPY .... |
|
|
Bonjour,
J'appuie ce que dit Erwann.
Vous ne pouvez utiliser que strncpy.
Donc prévoir la place et les memset.
Cordialement
Yves
|
|
| Back to top |
|
 |
Richard Delorme Guest
|
Posted: Fri Jul 29, 2005 11:48 am Post subject: Re: STRCAT STRCPY .... |
|
|
Yalbrieux a écrit :
| Quote: | Bonjour,
J'appuie ce que dit Erwann.
Vous ne pouvez utiliser que strncpy.
|
Si c'est pour travailler sur des octets, les fonctions memcpy ou memmove
me semple plus appropriées, voire std::copy pour profiter du C++.
| Quote: | Donc prévoir la place et les memset.
|
Pourquoi faire des memset ? si c'est pour remplir la fin de la chaine
destinataire de ' ', strncpy le fait déjà trop bien.
--
Richard
|
|
| Back to top |
|
 |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|