Instructions Linux : copier un fichier ?

cs_Sagittarius Messages postés 3 Date d'inscription jeudi 25 mars 2004 Statut Membre Dernière intervention 26 mars 2004 - 25 mars 2004 à 17:00
Hylvenir Messages postés 364 Date d'inscription mercredi 11 février 2004 Statut Membre Dernière intervention 5 octobre 2006 - 26 mars 2004 à 18:31
J'ai besoin d'acceder à partir de mon code c++ à un fichier situé dans un sous repertoire

Afin de copier certaines infos contenus dans ce fichier !

Pas de problemes pour copier les infos mais impossible d'ouvrir le fichier !!

Important :
Le chemin d'acces du sous repertoire est fixé mais c'est l'utilisateur qui rentre le nom du fichier !

Toute idée est la bienvenue...

5 réponses

cs_bouba Messages postés 518 Date d'inscription dimanche 2 décembre 2001 Statut Membre Dernière intervention 10 novembre 2007 3
25 mars 2004 à 19:48
Commence par vérifier les droits que tu as sur le fichier. Je ne comprends pas bien ton msg, tu dis que tu n'as pas de blem pour copier les infos mais que tu ne peux pas ouvrir le fichier, comment peu tu copier des infos contenues dans un fichier alors que tu ne l'a pas ouvert ?
0
lpikachu58 Messages postés 351 Date d'inscription samedi 2 février 2002 Statut Membre Dernière intervention 6 mai 2004 2
26 mars 2004 à 14:34
est ce que tu as les droits et est ce que tu utilise fopen()?

be linux
0
cs_Sagittarius Messages postés 3 Date d'inscription jeudi 25 mars 2004 Statut Membre Dernière intervention 26 mars 2004
26 mars 2004 à 16:21
Désolé je me suis mal exprimé en fait je voulais dire que je sais faire un algo éprouvé de lecture écriture de fichier.

Par contre ce que je n'arrive pas à faire :

c'est ouvrir un fichier dont le nom est rentré par l'utilisateur : !!
en fait je croyais que dans fopen il fallait un nom de fichier rentré dans le code directement
ex: fopen("fichier.dat", ios ...)
Mais peut etre qu'on peut mettre un char* en parametre ... parceque je pouvais pas mettre un string...
Je vais essayer

merci quand meme .
0
cs_Sagittarius Messages postés 3 Date d'inscription jeudi 25 mars 2004 Statut Membre Dernière intervention 26 mars 2004
26 mars 2004 à 16:24
Par contre est il possible d'ouvrir d'utiliser une commande Shell
EX.
system(" blabal ... ");

avec une partie de la commande rentrée par l'utilisateur ?
ex :
system (" cp (utilisateur entre le nom du fichier) ...");
0

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

Posez votre question
Hylvenir Messages postés 364 Date d'inscription mercredi 11 février 2004 Statut Membre Dernière intervention 5 octobre 2006 2
26 mars 2004 à 18:31
Pour utiliser un fstream avec une string tu dois
utiliser c_str() qui te renvoie un const char* pour ta string.
ex:
std::string filename = "data.txt";
ifstream file( filename.c_str() );

ou
ifstream file;
file.open( filename.c_str() );

si tu tiens vraiment à utiliser open.

tu peux utiliser des / pour les répertoires.
ça évite les \\,

#include
#include <fstream>
using namespace std;

int main()
{
ifstream file( "./usr/string.cpp" );
if ( !file )
cout << "Erreur ouverture" << endl;

return 0;
}
0
Rejoignez-nous