begin process at 2012 05 29 06:25:38
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Divers

 > 

Débutant(e)

 > 

Espaces dans un chemin d'accès


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Espaces dans un chemin d'accès

jeudi 31 août 2006 à 12:28:30 | Espaces dans un chemin d'accès

ssmint

Bonjour à tous,

mon petit problème du jour, c'est de pouvoir utiliser dans fonctions ayant besoin d'un chemin d'accès en argument...  Genre fopen, ShellExecute, FindFirstFile, ect...
Ca ne marche pas lorsque je mets un chemin avec espace, genre "C:\\Program File\\"...
Donc quel caractère utiliser? Où s'il y a un autre moyen??

merci d'avance.
@+

 

jeudi 31 août 2006 à 14:16:57 | Re : Espaces dans un chemin d'accès

SAKingdom

Membre Club
FILE *file;

file = fopen("c:\\windows\\test.txt", "r");

if(file == NULL)
{
    printf("problème\n");
    return 0;
}

Si il existe bien un fichier test.txt dans ton répertoire Windows, il n'y aura pas de problème. C'est théoriquement impossible. Si il y a un problème durant l'ouverture, il sera detecté dans ce code.
Au fait, si le compilateur revoie des érreures, peux tu nous dire lequelles?


C++ (@++)
___________________________________________
Les plus grands esprits trouvent toujours une solution
Forum de débats sur la programmation

jeudi 31 août 2006 à 14:21:42 | Re : Espaces dans un chemin d'accès

vecchio56

Administrateur CodeS-SourceS
Réponse acceptée !
SAKingdom, j'ai rien compris à ta réponse :)

Je crois que le problème est au niveau des espaces dans les chemins.
Je crois qu'il faut utiliser des guillemets lots de l'appel du programme, sinon il considère qu'il y a plusieurs arguments:

programmes.exe "C:\Program Files\etc"

_____________________________________
Un éditeur de ressources gratuit pour Windows

jeudi 31 août 2006 à 14:30:20 | Re : Espaces dans un chemin d'accès

SAKingdom

Membre Club
Désolé. C'est pas encore claire.
Le problème peut venir aussi du fait qu'il soit, peut-être, en UNICODE. Dans ce cas, suffis d'ajouter un L ou TEXT devant la chaine:

wfopen(L"c:\\windows\\text.txt", L"r");
ou
wfopen(TEXT("c:\\windows\\text.txt"), TEXT("r"));

et bien sûr, d'utiliser des fonctions UNICODE. Ou sinon, de désactiver UNICODE dans les propriétés du projet.

C++ (@++)
___________________________________________
Les plus grands esprits trouvent toujours une solution
Forum de débats sur la programmation

jeudi 31 août 2006 à 14:32:28 | Re : Espaces dans un chemin d'accès

SAKingdom

Membre Club
_wfopen pardon.

C++ (@++)
___________________________________________
Les plus grands esprits trouvent toujours une solution
Forum de débats sur la programmation

jeudi 31 août 2006 à 14:34:00 | Re : Espaces dans un chemin d'accès

vecchio56

Administrateur CodeS-SourceS
Je vois toujours pas le rapport
Le problème ce sont les ESPACES

_____________________________________
Un éditeur de ressources gratuit pour Windows

jeudi 31 août 2006 à 14:41:19 | Re : Espaces dans un chemin d'accès

SAKingdom

Membre Club
Il dit qu'il a un problème lorsqu'il utilise par exemple "C:\\Program File\\"... en argument de fopen etc. Si il est en UNICODE, c'est normale que ça ne fonctionne pas.
Sinon, je n'ai jamais eu de problème avec les espaces. Je trouve ça bizzare.

C++ (@++)
___________________________________________
Les plus grands esprits trouvent toujours une solution
Forum de débats sur la programmation

jeudi 31 août 2006 à 14:44:53 | Re : Espaces dans un chemin d'accès

vecchio56

Administrateur CodeS-SourceS
Réponse acceptée !
Si tu appelles un programme avec un chemin avec des espaces, tu as un problème:
programmes.exe C:\Program Files\etc
-> programme va croire qu'on lui passe deux arguments (C:\Program et Files\etc)

programmes.exe "C:\Program Files\etc"
-> programme ne recoit qu'un seul argument

_____________________________________
Un éditeur de ressources gratuit pour Windows

jeudi 31 août 2006 à 14:48:44 | Re : Espaces dans un chemin d'accès

SAKingdom

Membre Club
Ok je comprend ce que tu veux dire. Cependant, il dit qu'il a aussi un problème avec fopen et FindFirstFile. Tu crois que le problème soit les espaces là aussi (je sais pas je demande).

C++ (@++)
___________________________________________
Les plus grands esprits trouvent toujours une solution
Forum de débats sur la programmation

jeudi 31 août 2006 à 17:27:11 | Re : Espaces dans un chemin d'accès

SnOOpss

Perso (sur un autre langage de programation je passait par les short path name ex
"C:\\long directory name"  donne "c:\\LONGDI~1" il n'y a jamais d'espace
Je viens de voir que ces fonction existe sur c++ GetShortPathName et GetFullPathName

Mais je ne m'en suis jamais servi



1 2

Cette discussion est classée dans : utiliser, espaces, genre, chemin, accès


Répondre à ce message

Sujets en rapport avec ce message

Création de dossier - MFC [ par Rololo ] Salut à tous les programmeurs,après une demande d'un chemin d'accès et d'un nom à un utilisateur X, je souhaite créer un dossier portant le nom demand chemin d'accès [ par coockiesch ] Pourquoi lorsqu'on travaille avec les fichiers, il faut deux '/' par répertoire; par ex: c:\\winnt\\cmd.exeMerci Problème de chemin d'accès [ par Mcdo ] J'ai fait un petit programme pour renommer tous les fichiers qui possèdent une extension donnée , en spécifiant le chemin et l'extension.Le pb c que c DAO 3.5 en c++ [ par yAAm ] Est-il possible d'utiliser les objet dao 3.5 du genre : RecordSet , les fonction du genre OpenDataBase en c++ sans utiliser les mfc, mais directement Utilisation des chemins d'accès prédéfinis. [ par _michel ] Certains chemins d'accès sont définis, pour la portabilité des programmes, sous cette forme : %CHEMIN_D_ACCES%On retrouve par exemple, en tapant la co pb chemin accès [ par shub85 ] Bonjour,Voici mon problème je n'arrive pas à réupérer le chmin correcte de mon dossier...Voici mon code: char chemin[MAX_PATH];char *c;c = chemin + Ge Comment utiliser le chemin courant [ par papi2 ] Bonjour,J'ai créé un raccourci dans le répertoire Démarrer  avec  CSIDL_STARTUP.J'ouvre le répertoire avec: char Buffer.........SHGetSpecialFolderPath C++ - Utiliser une variable dans la fonction system() [ par marshallino16 ] Bonjour à tous, Je vous expose mon problème, je code un programme pour faciliter l'installation et la configuration du SDK Android. Dans mon progra Utiliser capCreateCaptureWindow en Windows Form [ par raikko21 ] Salut tlm!!! J'ai un petit problème pour passer d'une Win Api en WindowsForm, j'ai fait une application (je me suis bcp aider des sources du site) qui


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,515 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales