Prob ouv fichier avec chemin absolu c++

Eti38 Messages postés 55 Date d'inscription   Statut Membre Dernière intervention   -  
overcode Messages postés 119 Date d'inscription   Statut Membre Dernière intervention   -
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 119 Date d'inscription   Statut Membre Dernière intervention   27
 
Qu'est ce tu veux dire par "à distance" ?
0
Eti38 Messages postés 55 Date d'inscription   Statut Membre Dernière intervention   2
 
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   Statut Membre Dernière intervention   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 55 Date d'inscription   Statut Membre Dernière intervention   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 55 Date d'inscription   Statut Membre Dernière intervention   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 119 Date d'inscription   Statut Membre Dernière intervention   27
 
Ton nom de fichier contient-il un caractère blanc ou spécial ?
0
Eti38 Messages postés 55 Date d'inscription   Statut Membre Dernière intervention   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 9813 Date d'inscription   Statut Contributeur Dernière intervention   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 119 Date d'inscription   Statut Membre Dernière intervention   27
 
Fais voir le nom de fichier, ou le bout de programme (macro + ofstream)
0
Eti38 Messages postés 55 Date d'inscription   Statut Membre Dernière intervention   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 119 Date d'inscription   Statut Membre Dernière intervention   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 55 Date d'inscription   Statut Membre Dernière intervention   2
 
UTF-8
0
overcode Messages postés 119 Date d'inscription   Statut Membre Dernière intervention   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