Formatage d'un caractère spécial dans une chaine - C - Programmation
Marsh Posté le 05-01-2005 à 16:00:15
Ba en faite çà vien pa du "/y" vu que quand je met autre chose il y a le même problème...
Marsh Posté le 05-01-2005 à 16:01:57
Code :
|
edit : en const c'est même mieux si c'est constant évidemment.
Marsh Posté le 05-01-2005 à 16:06:05
pains-aux-raisins a écrit :
|
Ptit coup de fatigue pains-aux-raisins ?
Ou bien c'est ta touche étoile qui ne marche plus?
Marsh Posté le 05-01-2005 à 16:06:58
lolofora a écrit : Ba en faite çà vien pa du "/y" vu que quand je met autre chose il y a le même problème... |
Ton truc me parraissait tellement gros, que j'ai essayé. Et chez moi, ça marche. C'est donc ton code d'affichage qui merde.
D'autre part, comme le dit pains-aux-raisins, c'est un tableau de "const char *"...
Marsh Posté le 05-01-2005 à 16:08:33
Ce n'est pas constant,
ton code retourne des erreurs "excess elements in char array initializer", il me semble que sans le étoile çà fait just un tacbleau de caractère et non un tableau de chaines de caractère enfin je crois ..
Marsh Posté le 05-01-2005 à 16:12:24
lolofora a écrit : |
Aucun problème:
|
Montre ton code...
Marsh Posté le 05-01-2005 à 16:18:05
Le test d'affichage :
for(z=0;z<17;z++){
printf("test%d: crypt=%s sel=%s passwd=%s \n",z,motcrypte,tableau_salt[z],tableau_pass[z]);
}
résultat :
test0: crypt=fh sel=fh passwd=
mot testé: aaaababt avec le salt : ff donne en crypté: ff2IuIMo39Sfk
test1: crypt=fflFKIEgw8xYM sel=ff passwd=lFKIEgw8xYM
mot testé: aaaababt avec le salt : gg donne en crypté: ggvQzHnxxAGg6
le reste jusqu'à z=16 marche niquel
il y a juste le z=0 pr le tableau_pass qui ne marche pas grrrrrrr
Marsh Posté le 05-01-2005 à 16:19:12
çà doit être tout con mais là je sêche ...
Marsh Posté le 05-01-2005 à 16:20:54
il y avait çà aussi dans la boucle mais je pense pas que çà est intéragit avec, quoi que ...
char motcrypte[100]="";
strcpy(motcrypte,tableau_salt[z]);
strcat(motcrypte,tableau_pass[z]);
Marsh Posté le 05-01-2005 à 16:24:11
lolofora a écrit : Ce n'est pas constant |
Tu essayes de modifier le contenu du tableau ou des chaînes ?
Parce que chez moi, les chaînes codées "en dur", sont des chaînes constantes...
Marsh Posté le 05-01-2005 à 16:31:29
j'ai mis const et toujours le même problème
maintenant au lieu d'avoir rien j'ai juste un "w"
printf("ESSAI: %s \n",tableau_pass[0]);
retourne "ESSAI: w"
Marsh Posté le 05-01-2005 à 16:36:08
lolofora a écrit : j'ai mis const et toujours le même problème |
Oui, enfin, c'est pas const qui va t'enlever le problème présent.
Quel compilo as-tu, et qu'obtiens tu avec le code minimal ?
Code :
|
Marsh Posté le 05-01-2005 à 16:44:13
Lam's a écrit : Ptit coup de fatigue pains-aux-raisins ? |
nan, c'est le modele de markov sur lequel je bosse qui me prend la tete grave
Marsh Posté le 05-01-2005 à 16:47:57
En faite çà ne marche plus dès que je rajoute
strcpy(motcrypte,tableau_salt[z]);
strcat(motcrypte,tableau_pass[z]);
Marsh Posté le 05-01-2005 à 16:48:33
Bah, tu debugges quoi...
Avec GDB, la commande watch devrait t'aider.
Avec Visual C++, c'est le menu "watch" aussi, tiens.
A mon avis, tu as un pointeur qui se ballade dans la ville, et qui écrase tes données...
Marsh Posté le 05-01-2005 à 17:18:59
Bon j'ai trouver le problème c'était bien un pointeur qui mettait le bordel partout !
un strcpy(dest,source) où la source est plus grande que la destination çà ne fait pas bon ménage pour le reste du code
Merci à Lam's et pains aux raisins !!
Marsh Posté le 05-01-2005 à 17:36:19
comme disait Lam's, pour cette fois il n'y a vraiment pas de quoi...
Marsh Posté le 05-01-2005 à 15:56:54
lut !
J'ai créé 2 tableaux de chaines de caractères :
et lorsque que je les affiches, ils s'affichent bien tous... SAUF le tableau_pass[0] qui est vide...
Cela vient-il du "/y" contenu dans la chaine qui pourrais avoir une signification particulière en C, si oui comment formater le caractère spécial "/" ??
Merci !