Enlever le \\ et les remplacer pas un seul

Résolu
sebastienmz Messages postés 139 Date d'inscription mardi 16 mai 2006 Statut Membre Dernière intervention 23 juin 2008 - 25 janv. 2007 à 11:28
sebastienmz Messages postés 139 Date d'inscription mardi 16 mai 2006 Statut Membre Dernière intervention 23 juin 2008 - 25 janv. 2007 à 15:52
bonjour
je cherche a enlever les \\ et les remplacer pas \ mais dans mon code s'il y a un seul \ ça bug voici mon code :
  for (i=0; i<=strlen(command);i++){ 
    if ((donnee[i]=='\\') && (donnee[i+1]=='\\'))   
      i++;
    rep[i]=donnee[i],
    j++;
   }

________
Sébastien Metthez
[www.sebastien-metthez.com www.sebastien-metthez.com]
le problème vient souvent de l'interface chaise claivier

16 réponses

vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
25 janv. 2007 à 12:34
char* StringTOCString(char* out, const char* in)
{
  while(*in)
  {    if(*in '\\' && *(in + 1) '\\') *out = *in++;
    else *out = *in;
    in++;
    out++;
  }
  *out = 0;
  return out;
}

_____________________________________
Un éditeur de ressources gratuit pour Windows
3
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
25 janv. 2007 à 13:31
char buf[80];
StringTOCString(buf, "salut\\\\\");
MessageBox(0, buf, szappname, 0);

vecchhio > on obtient "foule\" avec 2 '\\' à la fin.

celle ci va bon:
char* StringTOCString(char* out, const char* in)
{
  char c, old = 0;
  while(c = *in) {
    in++;    if(c '\\') if(c old) continue;
    *out++ = c;
    old = c;
  }
  *out = 0;
  return out;
}

ciao...
BruNews, MVP VC++
3
cs_laurent1024 Messages postés 987 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 30 août 2012 25
25 janv. 2007 à 11:41
C'est quoi la différence entre "command" de "donnee" car ans la boucle tu utilise strlencommand et tu va chercher des donnée dans données
quand tu fait donnee[i] et donnees[i+1] il faut bien vérifier que i < taille de donnees - 1
for (i=0; i<=strlen(command);i++){ 
    if ((donnee[i]=='\\') && (donnee[i+1]=='\\'))   
      i++;
    rep[i]=donnee[i],
    j++;
   }
0
sebastienmz Messages postés 139 Date d'inscription mardi 16 mai 2006 Statut Membre Dernière intervention 23 juin 2008
25 janv. 2007 à 11:53
en fet c'est commande c'est l'ancien nom de la variable jai donnée le nom de donnee pour etre le meximum compréensible !
________
Sébastien Metthez
[www.sebastien-metthez.com www.sebastien-metthez.com]
le problème vient souvent de l'interface chaise clavier
0

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

Posez votre question
cs_laurent1024 Messages postés 987 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 30 août 2012 25
25 janv. 2007 à 11:59
Tu pourrais montrer comment tu alloues les variables ?
0
gregorycmichel Messages postés 4 Date d'inscription mercredi 5 juillet 2006 Statut Membre Dernière intervention 23 mai 2007
25 janv. 2007 à 12:05
moi je ferais comme ceci

CString strslash;
 strslash="adaz\\\\dzad\\\\dzzad";
 strslash.Replace("\\\","\");

@+
0
sebastienmz Messages postés 139 Date d'inscription mardi 16 mai 2006 Statut Membre Dernière intervention 23 juin 2008
25 janv. 2007 à 12:59
cela marche en C sur Gcc?
________
Sébastien Metthez
[www.sebastien-metthez.com www.sebastien-metthez.com]
le problème vient souvent de l'interface chaise clavier
0
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
25 janv. 2007 à 13:09
Evidemment

_____________________________________
Un éditeur de ressources gratuit pour Windows
0
sebastienmz Messages postés 139 Date d'inscription mardi 16 mai 2006 Statut Membre Dernière intervention 23 juin 2008
25 janv. 2007 à 13:34
et le in et le out et la valeur qui est retourner cela sert a quoi ?

______
Sébastien Metthez
[www.sebastien-metthez.com www.sebastien-metthez.com]
le problème vient souvent de l'interface chaise clavier
0
sebastienmz Messages postés 139 Date d'inscription mardi 16 mai 2006 Statut Membre Dernière intervention 23 juin 2008
25 janv. 2007 à 13:37
Nan c0est bon j0ai compris ¨! MERCI A TOUS

Sébastien Metthez
[www.sebastien-metthez.com www.sebastien-metthez.com]
le problème vient souvent de l'interface chaise cl
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
25 janv. 2007 à 13:38
retour sur point de chainage direct sans strcat.

Faut te plonger dans un bouquin de C.

ciao...
BruNews, MVP VC++
0
sebastienmz Messages postés 139 Date d'inscription mardi 16 mai 2006 Statut Membre Dernière intervention 23 juin 2008
25 janv. 2007 à 14:31
juste un problème dans :

char* StringTOCString(char* out, const char* in)
{
  char c, old = 0;
  while(c = *in) {
    in++;    if(c '\\') if(c old) continue;
    *out++ = c;
    old = c;
  }
  *out = 0;
  return out;
}

s'il y a un seul \ ça

Sébastien Metthez
[www.sebastien-metthez.com www.sebastien-metthez.com]
le problème vient souvent de l'interface chaise cl
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
25 janv. 2007 à 14:39
hein, kesako ???

ciao...
BruNews, MVP VC++
0
sebastienmz Messages postés 139 Date d'inscription mardi 16 mai 2006 Statut Membre Dernière intervention 23 juin 2008
25 janv. 2007 à 15:15
arf ça a pas envoyer tout mon texte
Alors je voulais dire quand il y a un seul \ ça enlève un caractère ¨!
__________

Sébastien Metthez
[www.sebastien-metthez.com www.sebastien-metthez.com]
le problème vient souvent de l'interface chaise clavier
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
25 janv. 2007 à 15:19
J'ai testé, semble aller bon.

StringTOCString(buf, "sa\\lut\"); // VA IMPEC AVEC 1 SEUL

ciao...
BruNews, MVP VC++
0
sebastienmz Messages postés 139 Date d'inscription mardi 16 mai 2006 Statut Membre Dernière intervention 23 juin 2008
25 janv. 2007 à 15:52
a oui oups j'avais mis "salut\sava" au lieux de "salut\\sava" MERCI A TOUS  !!!!!!!!!!!!!!!
____________
Sébastien Metthez
[www.sebastien-metthez.com www.sebastien-metthez.com]
le problème vient souvent de l'interface chaise clavier
0
Rejoignez-nous