Comment lire un Char array ligne par ligne et le modifier?

fcoutel Messages postés 14 Date d'inscription vendredi 10 janvier 2003 Statut Membre Dernière intervention 21 juillet 2006 - 21 juil. 2004 à 10:16
fcoutel Messages postés 14 Date d'inscription vendredi 10 janvier 2003 Statut Membre Dernière intervention 21 juillet 2006 - 22 juil. 2004 à 10:46
Bonjour!

J'ai cree un char array dans un autre program qui contient des info "encryptees"

static char tcl_script[] =
"«šíðéåøäíŠüã\n"
"«šÌíåçæûüúéüíûšÜëä§ÜãšéæìšËšáæüíúéëüáçæšÿàáäíšìçáæïšûçåíüàáæïšýûíîýä©\n"
"«šÇúáïáæéääñšÿúáüüíæšíæüáúíäñšáæšÜëä§ÜãšêýüšéììíìšËšëéääûšéûšéšìíåçŠ\n"
"\n"
"«šºžšÎíêš¹±±œš¥šÚŠšÀéïíæšúàéïíæÈéÿá¥êúíåíúàéþíæŠìí\n"
"«š¹ŒšÉøúá䚺žž»šÎšËçýüíäšîëçýüíäÈäïëŠëçåšåçìáîáíìš\n"
"\n"
"«š¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥\n"
"«šÉšûáåøäíšìíëáåéäšìíïúííšüçšìíï€åáæ€ûíëšëçæþíúüíú\n"

...

Maintenant je voudrais
1) lire cet array ligne par ligne
2) Appliquer la function encrypt function a chaque ligne (modifiant la valeur du tableau au passage)

int encrypt(char *str)
{
int xor="t";
while (*str) {
*str ^= xor;
str++;
}
}

Quelles est la meilleure route?
Merci!

8 réponses

cs_AlexMAN Messages postés 1536 Date d'inscription samedi 21 décembre 2002 Statut Membre Dernière intervention 24 mai 2009 1
21 juil. 2004 à 10:33
Tu parcours ton "char array" juska rencontrer un caractere '\n' en ayant placé chak caractere ds un autre buffer..

Voila

++
0
fcoutel Messages postés 14 Date d'inscription vendredi 10 janvier 2003 Statut Membre Dernière intervention 21 juillet 2006
21 juil. 2004 à 10:37
Peux tu me donner une exemple?
0
cs_AlexMAN Messages postés 1536 Date d'inscription samedi 21 décembre 2002 Statut Membre Dernière intervention 24 mai 2009 1
21 juil. 2004 à 12:55
char s[256], *c = s;
static char tcl_script[] =
"«šíðéåøäíŠüã\n"
"«šÌíåçæûüúéüíûšÜëä§ÜãšéæìšËšáæüíúéëüáçæšÿàáäíšìçáæïšûçåíüàáæïšýûíîýä©\n"
"«šÇúáïáæéääñšÿúáüüíæšíæüáúíäñšáæšÜëä§ÜãšêýüšéììíìšËšëéääûšéûšéšìíåçŠ\n"
"\n"
"«šºžšÎíêš¹±±œš¥šÚŠšÀéïíæšúàéïíæÈéÿá¥êúíåíúàéþíæŠìí\n"
"«š¹ŒšÉøúá䚺žž»šÎšËçýüíäšîëçýüíäÈäïëŠëçåšåçìáîáíìš\n"
"\n"
"«š¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥\n"
"«šÉšûáåøäíšìíëáåéäšìíïúííšüçšìíï€åáæ€ûíëšëçæþíúüíú\n"
char *t = tcl_script;
while (*t !'\n') *c++ *t++;

*c = 0; t++;

et voila, tu as recup une ligne..apres tu englobes ca ds un "while (*t)" et puis tu pourra recup une a une toutes les lignes, puis les traiter..

++
0
fcoutel Messages postés 14 Date d'inscription vendredi 10 janvier 2003 Statut Membre Dernière intervention 21 juillet 2006
21 juil. 2004 à 14:05
OK je comprends mainenant comment lire la ligne le probleme est comment est ce que je peux modifier tcl_script?

Si je fais
while (*t) {
while (*t != '\n') {
*c++ = *t++;
}

encrypt(&c);
*t = *c;
*c=0; t++;

}

ca crash..
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_AlexMAN Messages postés 1536 Date d'inscription samedi 21 décembre 2002 Statut Membre Dernière intervention 24 mai 2009 1
21 juil. 2004 à 18:09
while (*t) { while (*t !'\n') *c++ *t++;
*c = 0; t++;
encrypt(s);
c = &s;
}
0
fcoutel Messages postés 14 Date d'inscription vendredi 10 janvier 2003 Statut Membre Dernière intervention 21 juillet 2006
22 juil. 2004 à 10:00
non cela ne marche pas car je veux modifier t ou creer un nouveau string en appendant s a chaque fois.
0
cs_AlexMAN Messages postés 1536 Date d'inscription samedi 21 décembre 2002 Statut Membre Dernière intervention 24 mai 2009 1
22 juil. 2004 à 10:20
ben travaille sur des copies..
0
fcoutel Messages postés 14 Date d'inscription vendredi 10 janvier 2003 Statut Membre Dernière intervention 21 juillet 2006
22 juil. 2004 à 10:46
La dessous je veux lire et decripter en meme temps pourquoi cela ne marche pas?

int xor 14;
while (*t) {
while (*t != '\n') {
if ( *t>=0x20 ){ *t ^= xor; xor = (xor+1)&0x1f; }

}
t++;

}
0
Rejoignez-nous