Prob ouv fichier avec chemin absolu c++

Fermé
Eti38 Messages postés 55 Date d'inscription jeudi 24 juillet 2008 Statut Membre Dernière intervention 16 mars 2010 - 4 août 2008 à 15:04
overcode Messages postés 119 Date d'inscription jeudi 6 décembre 2007 Statut Membre Dernière intervention 21 octobre 2011 - 4 août 2008 à 16:15
Bonjour,
Je code en c++:

Je souhaite ouvrir un fichier par la primitive ofstream.
Je lui fournit le nom du fichier a ouvrir par une macro définit en début de fichier.
Le programme marche quand je lui donne le chemin relatif.

Mon probleme est que maintenant je souhaite lancer ce programme "a distance":

J'ai changé la macro et lui ait donné comme valeur le chemin absolu du fichier:

Ca ne marche pas

Cela vous rapelle quelquechose????

13 réponses

overcode Messages postés 119 Date d'inscription jeudi 6 décembre 2007 Statut Membre Dernière intervention 21 octobre 2011 27
4 août 2008 à 15:07
Qu'est ce tu veux dire par "à distance" ?
0
Eti38 Messages postés 55 Date d'inscription jeudi 24 juillet 2008 Statut Membre Dernière intervention 16 mars 2010 2
4 août 2008 à 15:10
Un autre programme se situant autre part ds l'arborescence doit lancer le premier...
(Fork,execve,....)
0
overcode Messages postés 119 Date d'inscription jeudi 6 décembre 2007 Statut Membre Dernière intervention 21 octobre 2011 27
4 août 2008 à 15:16
Je ne me rappelle plus très bien de ça en C++, mais que reçois-tu quand ça ne marche pas ? open te lance une exception ou quelque chose comme ça ?
Ton fichier n'est pas ouvert par un autre process ? Parce qu'en écriture (ofstream) il n'y a qu'un process à la fois
0
Eti38 Messages postés 55 Date d'inscription jeudi 24 juillet 2008 Statut Membre Dernière intervention 16 mars 2010 2
4 août 2008 à 15:19
HA oui, j'ai ommis un détail qui peut avoir de l'importance.
L'autre programme est en c....

j'avais vu ds le man d'execve quon pouvait lancer un script!
Peut-être ce que je vais devoir faire....

Quand ca ne marche pas, ca bloque juste... il boucle peut-etre quelquepart..
0

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

Posez votre question
Eti38 Messages postés 55 Date d'inscription jeudi 24 juillet 2008 Statut Membre Dernière intervention 16 mars 2010 2
4 août 2008 à 15:23
mon code:
ofstream file(......);

a la suite de cela, file vaut zero.
cela signifie que l'ouverture n'a pas eu lieu...
0
overcode Messages postés 119 Date d'inscription jeudi 6 décembre 2007 Statut Membre Dernière intervention 21 octobre 2011 27
4 août 2008 à 15:27
Ton nom de fichier contient-il un caractère blanc ou spécial ?
0
Eti38 Messages postés 55 Date d'inscription jeudi 24 juillet 2008 Statut Membre Dernière intervention 16 mars 2010 2
4 août 2008 à 15:37
Le seul caractere special est le ~ indiquant la racine..
il me semble que ce n'est pas problématique...
me trompe-je????????
0
Char Snipeur Messages postés 9688 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 2 octobre 2020 1 328
4 août 2008 à 15:38
oaui, une erreur de "\" non protégé, ou d'espace.
donne nous ta macro, ton chemin absolue, et l'appel à la macro.
(d'ailleur les macro, c'est à méga éviter)
0
overcode Messages postés 119 Date d'inscription jeudi 6 décembre 2007 Statut Membre Dernière intervention 21 octobre 2011 27
4 août 2008 à 15:44
Fais voir le nom de fichier, ou le bout de programme (macro + ofstream)
0
Eti38 Messages postés 55 Date d'inscription jeudi 24 juillet 2008 Statut Membre Dernière intervention 16 mars 2010 2
4 août 2008 à 15:45
en fait j'ai pas tout dit.............;
je vous la refait avec la version qui marche:
la macro: "./central_memory/file"

comme vous l'aurais compris,je "simule" une memoire centrale dont les noms de fichiers sont fileN

donc je concatene une chaine A contenant ma macro ac celle contenant le numero du fichier a acceder (B)

Soit la concatenation de A et B donne C:

puis j'ouvre le fichier de nom C....

voila j'espere que vous avais compris....
0
overcode Messages postés 119 Date d'inscription jeudi 6 décembre 2007 Statut Membre Dernière intervention 21 octobre 2011 27
4 août 2008 à 16:01
Pour le caractère ~, je ne suis pas sûr. Tu sauve le source en UTF-8, ou autre chose ?
0
Eti38 Messages postés 55 Date d'inscription jeudi 24 juillet 2008 Statut Membre Dernière intervention 16 mars 2010 2
4 août 2008 à 16:06
UTF-8
0
overcode Messages postés 119 Date d'inscription jeudi 6 décembre 2007 Statut Membre Dernière intervention 21 octobre 2011 27
4 août 2008 à 16:15
central_memory est un dossier. Peut-être que tu t'es trompé dans le chemin complet, car la création d'un fichier en écriure par ofstream ne crée pas les répertoires intermédiaires, et donc renvoie un flux nul si le chemin n'existe pas.

Donne nous plus d'indications.
0