Salut, je n'ai fait que survolé le fichier, alors tout d'abord je ne vois pas trop l'utilité de la fonction retournom( ), vu que c'est DANS la fonction que le nom est donné... elle prendrai un peu de sens si tu avais par exemple une structure LeFichier, qui contient un membre strNom et puis alors la fonction retournerait ce nom etc. ensuite pour les fonction crypt( ) et decrypt( ), tu ne permet de que de crypter/dérypter 254 caractère à la fois, ce qui n'est pas tellement utile vu que beaucoups de fichiers contienne nettement plus :) alors je te conseille un pointeur vers un char.
ensuite la fonction crypt( ) tu affiche le texte crypté à la fin, ce qui n'est pas trop super, car ca peut ralentir le tout car afficher des 1000 de caractere c pas tro rapid (mm si pr le moment tu nen otorise ke 254...) alors je te conseille de declarer ta fonction crypt () de cette facon:
char *crypt( char *in_szTxtToCrypt );
ce qui va donc te permettre de retourner le texte crypté. alors tu auras ta fonction a peu pres comme ca:
char *crypt( char *in_pszTxtToCrypt ) { // en esperant ke la fonction est ok... int iNmbChar = comptechar( ); char szCrypto[ 255 ]; char *pszCrypt = ( char * ) malloc ( strlen( in_pszTxtToCrypt ) + 1 );
for ( int i = 0; i < 255; i++ ) szCrypto[ i ] = 0 + i;
strcpy( pszCrypt, in_pszTxtToCrypt ); for( int j = 0; j <= iNmbChar; i++ ) { if ( j > 255 ) pszCrypt[ j ] = pszCrypt[ j ] + szCrypto[ j - 255 ]; else pszCrypt[ j ] = pszCrypt[ j ] + szCrypto[ j ]; }
return pszCrypt }
|
maintenant je crois ke ca devrait marcher
en recopiant la fonction crypt( ) j'ai vu ke tu avais fait un erreur:
txtcrypt[ 255 ] = txt[ 255 ];
ne veut pas dire ke tu copie les 254 caractères mais ke le DERNIER caractere de txtcrypt est egal au DERNIER de txt!!!
ben look un peu ma fonction et fait a peu pres la mm choz pour le decrypt ;)
ciao :)
[DmX]