Convertion C -> C#

cs_LordBob Messages postés 2865 Date d'inscription samedi 2 novembre 2002 Statut Membre Dernière intervention 11 mai 2009 - 9 mars 2005 à 13:38
cs_LordBob Messages postés 2865 Date d'inscription samedi 2 novembre 2002 Statut Membre Dernière intervention 11 mai 2009 - 9 mars 2005 à 17:15
Bonjour a tous,

voila je cherche à convertire une fonction que j'ai codé en C en C#... voila la fonction C:



static private int MSNBruteForce(int LongueurMax, char begin, char end, int err)

{

char code[255]; // tableau contenant le code

int i; // indice tableau

int longueur; // longueur en traitement



// on traite toutes les longueurs possible jusqu'a longueurmax

for (longueur=1; longueur <= LongueurMax; longueur++)

{

// marque de fin de génération de longueur

// initialisation du premier "mot"

for (i=0; i < longueur; code[i++] = begin)

code[longueur] = '0';



// on fait toute les lettres

while(code[longueur-1] <= end)

{

i = 0; // init indice


while(code[i] > end &&
code[i+1] != '0')

{


code[i] =
begin;

code[++i]++;




if((code[i] ==
('9'+1)) && (err 0)) code[i] 'A';


if((code[i] ==
('Z'+1)) && (err 0)) code[i] 'a';


if((code[i] ==
('9'+1)) && (err 1)) code[i] 'a'; // cas particulier (5)

}




// ecriture du code généré dans
le fichier

if(err == 0)

{


if(('0' <=
code[i] && code[i] <= '9') || ('a' <= code[i] &&
code[i] <= 'z') || ('A' <= code[i] && code[i] <= 'Z'))



printf("%s\n", code);

}

else if(err == 1)

{


if(('0' <=
code[i] && code[i] <= '9') || ('a' <= code[i] &&
code[i] <= 'z'))



printf("%s\n", code);

}

code[0]++; // caractere suivant

}

}

return 1;

}



et voila la convertion en C#:



static private int MSNBruteForce(int LongueurMax, char begin, char end, int err)

{

char[] code = new char[255]; // tableau contenant le code

int i; // indice tableau

int longueur; // longueur en traitement



// on traite toutes les longueurs possible jusqu'a longueurmax

for (longueur=1; longueur <= LongueurMax; longueur++)

{

// marque de fin de génération de longueur

// initialisation du premier "mot"

for (i=0; i < longueur; code[i++] = begin)

code[longueur] = '0';



// on fait toute les lettres

while(code[longueur-1] <= end)

{

i = 0; // init indice


while(code[i] > end &&
code[i+1] != '0')

{


code[i] =
begin;

code[++i]++;




if((code[i] ==
('9'+1)) && (err 0)) code[i] 'A';


if((code[i] ==
('Z'+1)) && (err 0)) code[i] 'a';


if((code[i] ==
('9'+1)) && (err 1)) code[i] 'a'; // cas particulier (5)

}




// ecriture du code généré dans
le fichier

if(err == 0)

{


if(('0' <=
code[i] && code[i] <= '9') || ('a' <= code[i] &&
code[i] <= 'z') || ('A' <= code[i] && code[i] <= 'Z'))



Console.WriteLine(code);

}

else if(err == 1)

{


if(('0' <=
code[i] && code[i] <= '9') || ('a' <= code[i] &&
code[i] <= 'z'))



Console.WriteLine(code);

}

code[0]++; // caractere suivant

}

}

return 1;

}



mon probleme est que en C#, l'affiche me met un '0' en plus a chaque
fois, je crois voir pourquoi, mais je ne sais pas comment réparer?

c'est pouquoi je demande votre aide...

Merci par avance

Bob

"La chance accorde ses faveur aux esprits avertis..."

2 réponses

TheSaib Messages postés 2367 Date d'inscription mardi 17 avril 2001 Statut Membre Dernière intervention 26 décembre 2007 23
9 mars 2005 à 14:12
est-ce un \0 ou un 0 en plus ?

Tu le vois ou le problème d'après toi ?

::|The S@ib|::
MVP C#.NET
0
cs_LordBob Messages postés 2865 Date d'inscription samedi 2 novembre 2002 Statut Membre Dernière intervention 11 mai 2009 9
9 mars 2005 à 17:15
bah test le code et regarde si tu trouve que ca fait une generation normale... en plus ca me fait une boucle infinie !
Bob...

"La chance accorde ses faveur aux esprits avertis..."
0
Rejoignez-nous