[Question con] Chemin vers un fichier et double \

Chemin vers un fichier et double \ [Question con] - C++ - Programmation

Marsh Posté le 10-09-2006 à 21:36:22    

Je me demandais : Est-ce important que le chemin vers un fichier contienne un ou deux \ ?
 
Je récupère la valeur de la variable d'environnement %TEMP% et je concatène un nom de fichier temporaire (ex : montemp.tmp).
 
Si la variable d'environnement temp est C:\Temp , j'obtiendrai C:\Temp\montemp.tmp
Si la viariable d'environnement temp est C:\Temp\, j'obtiendrai C:\Temp\\montemp.tmp
 
Je ne pense pas que cela joue, mais je voudrais être sur :D
 
merci :jap:

Reply

Marsh Posté le 10-09-2006 à 21:36:22   

Reply

Marsh Posté le 10-09-2006 à 23:20:35    

En C++ "\" est différent de "\\" (dans les autres langages aussi). Cela dit, il n'est pas toujours nécessaire de doubler l'antislash.
 
Mais la description du problème n'est pas suffisante pour déterminer si le programme tournera correctement ou non.
Il faudrait voir le code.

Reply

Marsh Posté le 11-09-2006 à 11:39:27    

ben ...
 
je parle pas du doublement de \ dans la gestion des chaines, mais bien en tant que chemin vers un fichier.
 
Si tu préfères, mes chemins au format C++ peuvent être soit "C:\\Temp\\montemp.tmp" ou "C:\\Temp\\\\montemp.tmp".
 
Je me demande juste si les fonctions classiques d'ouverture de fichier gèrent la chose.
 
Je récupère juste le contenu d'une variable d'environnement et je concatène avec "\\montemp.tmp"...

Reply

Marsh Posté le 11-09-2006 à 11:46:28    

C:\>dir c:\temp
<blahblah>
C:\>dir c:\\temp
Syntaxe du nom de fichier, de répertoire ou de volume incorrecte.
 
C:\>


 
 [:jagstang]
 
 
edit : à noter que, toujours sous windows, la notation "\\" en début d'un chemin indique un nom de serveur.
Exemple :  

C:\>dir \\blahblahserveur\public\temp
<blahblah>
C:\>


 
 
 
edit 2 : je viens de comprendre pourquoi olivthill parle de C++. C'est parce que nous sommes dans la catégorie C++. J'avais assumé qu'on était dans Général. /o\


Message édité par Elmoricq le 11-09-2006 à 11:56:19
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed