IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 C Discussion :

problème chaines avec \\


Sujet :

C

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2006
    Messages : 83
    Points : 58
    Points
    58
    Par défaut problème chaines avec \\
    J'ai besoin de stocker dans un fichier de configuration, des chaines du types
    BackupFolder = "C:\\backup\\logs\\";
    Mais je n'y arrive pas en utilisant sprintf ou memcpy, comment faire svp?
    (le résultat obtenu est toujours en simple \)

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Août 2006
    Messages
    1 104
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 1 104
    Points : 1 750
    Points
    1 750
    Par défaut
    Tu veux une chaine contenant deux antislashs d'affilée ?
    On sait qu'un antislash est échappé avec un autre antislash. Donc, d'après toi, combien d'antislashs faudra-t-il écrire d'affilée entre les guillemets de la chaine du code C pour en obtenir 2 lors de l'affichage (ou dans le fichier de sortie) ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Chaine  -> Ecriture C
    "\"     -> "\\"
    "\\"    -> ???


    Plus d'infos ici : http://c.developpez.com/cours/bernar...00000000000000

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2006
    Messages : 83
    Points : 58
    Points
    58
    Par défaut
    OK, alors voici mon code avec les simples \ qui sont bien échappés
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    void CreateFileConfig()
    {
    char *pDat;
    FILE *fc;
     
    pDat = (char*)malloc(255);
     
    fc = fopen("config2.ini","w");
    if (fc != NULL)
        {
            sprintf(pDat,"[apache]\n\nBackupApacheFolder = \"C:\\toto\\backup\\logs\\\";\nAgeLog = 30;\n\n[db]\n\nBackupDbFolder = \"C:\\toto\\backup\\db\\\";\nAgeDb = 30;");
            fprintf(fc,pDat);
            fclose(fc);
        }
    free(pDat);
     
    }
    Le résultat dans mon fichier c'est des simples \
    Donc si je veux des \\ j'en rajoute ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    sprintf(pDat,"[apache]\n\nBackupApacheFolder = \"C:\\\toto\\\backup\\\logs\\\\";\nAgeLog = 30;\n\n[db]\n\nBackupDbFolder = \"C:\\\toto\\\backup\\\db\\\\";\nAgeDb = 30;");
    Sauf que ça me génère des erreurs...

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2006
    Messages : 83
    Points : 58
    Points
    58
    Par défaut
    Pardon!
    Je suis distrait, en fait il faut doubler donc ça doit donner
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    sprintf(pDat,"[apache]\n\nBackupApacheFolder = \"C:\\\\DEAFI\\\\backup\\\\logs\\\\\";\nAgeLog = 30;\n\n[db]\n\nBackupDbFolder = \"C:\\\\DEAFI\\\\backup\\\\db\\\\\";\nAgeDb = 30;");

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème de comparaison de chaines avec des accents
    Par alexmtp dans le forum Requêtes
    Réponses: 1
    Dernier message: 18/10/2014, 10h10
  2. problème : boucles avec chaines
    Par zoscoy dans le forum Langage
    Réponses: 3
    Dernier message: 26/05/2014, 10h23
  3. Problème de syntaxe de chaine avec grep
    Par lsda26 dans le forum Shell et commandes GNU
    Réponses: 8
    Dernier message: 02/04/2013, 19h23
  4. problème chaine de caractère avec ASP et access
    Par bouzakher dans le forum ASP
    Réponses: 2
    Dernier message: 26/05/2009, 11h33
  5. VB5 Textbox et problème addition avec chaine
    Par Jclaude1 dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 10/03/2008, 07h04

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo