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 :

Ajout de '\' dans une string


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de Dark-Water
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2006
    Messages
    142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2006
    Messages : 142
    Par défaut Ajout de '\' dans une string
    Bonjour j'ai une string contenant un chemin d'accès tu style "c:\toto\titi.txt"et j'aimerais doublé le \ et avoir une chaine du style "c:\\toto\\titi.txt".

    Comment faire ???

    j'ai tout d'abort essayer avec le code de la faq c++ que j'ai modifié pour mon besoin : http://c.developpez.com/faq/cpp/?pag...#STRING_tokens
    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
    		string val;
    		string mot;
    		val = "";
     
    		string spath;
    		spath = path.substr(0,path.find('\n'));
    		istringstream iss( spath );
    		while ( getline ( iss, mot, '\' ) )
    		{
    			if(val == "")
    			{
    				val = mot;
    			}
    			else
    			{
    				val = val + "\\" + mot;
    			}
    		}
    mais j'ai une erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    c:\dev\anamorphose\anamorphosedlg.cpp(333) : error C2001: newline in constant
    c:\dev\anamorphose\anamorphosedlg.cpp(333) : error C2015: too many characters in constant
    une idée ???

  2. #2
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par défaut
    '\' '\\'

    En général il n'est nécessaire de doubler les anti-slashs que dans les chaînes que tu écris toi-même dans le coder source, pourquoi cherches-tu à le faire sur une variable ?

  3. #3
    Membre confirmé Avatar de Dark-Water
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2006
    Messages
    142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2006
    Messages : 142
    Par défaut
    parce que j'arrive pas ouvrir un fichier avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ifstream file(File.c_str());
    je n'ai aucun flux dans file

  4. #4
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par défaut
    Si le nom de fichier n'est pas en dur dans le code alors aucune raison de doubler les anti-slashs (ou d'utiliser des slashs -- beaucoup de gens oublient cette solution).
    Doubler un anti-slash est nécessaire dans le code source car en C++ l'anti-slash sert à introduire un caractère spécial.

    Bref, l'erreur d'ouverture doit venir d'ailleurs.

  5. #5
    Membre confirmé Avatar de Dark-Water
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2006
    Messages
    142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2006
    Messages : 142
    Par défaut
    c'est bizarre parce que quant je met le fichier en dur avec les doubles \\ ca marche mais kan je recupere le chemin d'accès ds une string ca marche plus avec un seul \ donc je ne vois pas d'autre raisons mais je peut tjs passer à coté mais j'aimerais pouvoir essayer pour voir si c ca

  6. #6
    Membre Expert
    Avatar de Eusebe
    Inscrit en
    Mars 2006
    Messages
    1 992
    Détails du profil
    Informations personnelles :
    Âge : 47

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 992
    Par défaut
    Tu as regardé ce que contenais ta string (par un simple cout << File) ?

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

Discussions similaires

  1. Ajout aléatoire d'une String dans une balise XML à partir d'un tableau de String
    Par chebmo1986 dans le forum Format d'échange (XML, JSON...)
    Réponses: 5
    Dernier message: 19/03/2009, 11h21
  2. mettre un entier dans une string
    Par kinder29 dans le forum SL & STL
    Réponses: 14
    Dernier message: 14/02/2005, 11h54
  3. [DOM] sauver dans une String
    Par hocinema dans le forum Format d'échange (XML, JSON...)
    Réponses: 3
    Dernier message: 28/09/2004, 21h44
  4. [Débutant][JSP] Ajout des caractères à une String...
    Par Henkyl dans le forum Servlets/JSP
    Réponses: 5
    Dernier message: 04/03/2004, 16h30
  5. [Syntaxe] mettre des ' dans une string ?
    Par souch dans le forum Débuter
    Réponses: 4
    Dernier message: 14/08/2003, 16h26

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