Prob ouv fichier avec chemin absolu c++

Eti38 Messages postés 57 Statut Membre -  
overcode Messages postés 128 Statut Membre -
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????
A voir également:

13 réponses

overcode Messages postés 128 Statut Membre 27
 
Qu'est ce tu veux dire par "à distance" ?
0
Eti38 Messages postés 57 Statut Membre 2
 
Un autre programme se situant autre part ds l'arborescence doit lancer le premier...
(Fork,execve,....)
0
overcode Messages postés 128 Statut Membre 27
 
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 57 Statut Membre 2
 
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 57 Statut Membre 2
 
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 128 Statut Membre 27
 
Ton nom de fichier contient-il un caractère blanc ou spécial ?
0
Eti38 Messages postés 57 Statut Membre 2
 
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 10112 Statut Contributeur 1 299
 
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 128 Statut Membre 27
 
Fais voir le nom de fichier, ou le bout de programme (macro + ofstream)
0
Eti38 Messages postés 57 Statut Membre 2
 
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 128 Statut Membre 27
 
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 57 Statut Membre 2
 
UTF-8
0
overcode Messages postés 128 Statut Membre 27
 
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