begin process at 2012 05 30 01:13:25
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Windows

 > 

Fichier & Disque

 > 

ouvrir un fichier à partir d'une variable


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

ouvrir un fichier à partir d'une variable

vendredi 25 août 2006 à 10:50:35 | ouvrir un fichier à partir d'une variable

je_ne_viens_qu1_fois

bonjour à tous

je code sur c++ et suis confronté à un problème qui doit vous sembler simple, mais que je n'arrive pas à résoudre.

j'ai un premier fichier, "donnees.txt", dans lequel je récupère un nom, disons "toto.txt".
j'utilise pour ce fgets:

#include dimension 50

FILE* file_donnees;
FILE* file_sortie;
char nom_sortie[dimension];

file_donnees=fopen("donnees.txt","r");
fgets(nom_sortie,dimension,file_donnees);

fopen(nom_sortie,"w");

mon dernier fopen ne marche pas; il passe à la compil, mais ne crée pas le fichier toto.txt, qui est pourtant la valeur de nom_sortie.
j'ai le même problème si j'utilise oftream à la place de mon second fopen.

je sais que le premier argument de fopen doit être une variable char*.
mais si je définis nom_sortie en char*, c'est mon fgets qui ne marche plus!!!

comment faire? 
vendredi 25 août 2006 à 11:11:32 | Re : ouvrir un fichier à partir d'une variable

je_ne_viens_qu1_fois

il fallait lire pour ma dernière ligne de code:
file_sortie=fopen(nom_sortie,"w");
vendredi 25 août 2006 à 11:23:46 | Re : ouvrir un fichier à partir d'une variable

saifer

Membre Club
Salut,
Ton code est bon, dans l'ensemble, juste quelques petits trucs à régler :
1-#include dimension 50 ?? ca compile ca ? je mettrais plutôt : #define dimension 50
2-Il faut préciser à fopen que tu ouvre tes fichiers en mode texte avec le paramètre "t", ce qui te donne : fopen(..., "rt")
3-Tu ne fermes pas tes fichiers, le problème est là, n'oublie pas fclose !, ton fichier nom_sortie n'est pas créé car tu ne le ferme pas, il faut mettre fclose après.

#define dimension 50

FILE* file_donnees;
FILE* file_sortie;
char nom_sortie[dimension];

file_donnees=fopen("donnees.txt","rt");
fgets(nom_sortie,dimension,file_donnees);
fclose(file_donnees);                                   //ligne ajoutée

file_sortie = fopen(nom_sortie,"wt");            //ligne modifiée
fclose(file_sortie);                                       //ligne ajoutée


ca devrais marcher.
ciao.

-{ Saifer }-


vendredi 25 août 2006 à 11:25:14 | Re : ouvrir un fichier à partir d'une variable

Itsuki2

Ton fichier contient-il des "\n" ??

vendredi 25 août 2006 à 14:22:37 | Re : ouvrir un fichier à partir d'une variable

je_ne_viens_qu1_fois

Merci pour toutes ces réponses.
Mon programme tourne; je pense qu'il y avait plusieurs problèmes:

1) la variable "dimension" doit avoir la même taille+1 que le nom du fichier lu (ici, "toto.txt")
2) je devais fermer mes fichiers
3) je devais mettre "rt" à la place de "r", et "wt" à la place de "w"

merci pour tout


Cette discussion est classée dans : fichier, donnees, file, fopen, sortie


Répondre à ce message

Sujets en rapport avec ce message

copie de fichier texte : prob fopen [ par Ascagne ] #include #include #include //conio.c pour dev-cpp conio.h normalementint main(){char entree,sortie; //variables recueuillant l'adresse des fichie pb avec Fopen [ par Arrakis ] Bonjour, Je fais un programme en C avec DirectX ,a un moment je dois ouvrir un fichier pour recuperer des données mais fopen echoue ( sa valeur de r liste chainée et lecture d'un fichier txt [ par whiteknight ] Bonjour j'ai un probleme pour charger des données depuis un fichier texte, les données recupérées doivent etre stocké dans un liste chainée déclaré ai Pb de gestion de fichier avec fstream [ par Bub325 ] Salut,J'ai deux problème distinct avec fstream, Le premier est que lorsque j'arrive à la fin d'un fichier, je ne peut plus revenir plus haut dans ce d Mettre un fichier .exe dans un buffer [ par guiguikun ] Je n'arrive pas a mettre un fichier executable en memoire.sur les 100Ko du fichier, mon buffer ne compte que les 3 premiers octets (caracteres)voici m [C] Transfert de fichier par sockets [ par bonobo78 ] salut ! j'ai un petit pb pour transmettre un fichier via des sockets.En fait, je decoupe le fichier en petit bout de 1024 octets et je transmets chaqu fopen d un fichier partagé [ par jamopoy ] quelqu'un sait til comment ouvrir un fichier partagé??? fopen("C://folder/file.txt","r+"); comment ecrire le chemin d acces d un fichier partagé??? av Flot sortie [ par nicolas66 ] Bonsoir j'aimerai pouvoir utiliser correctement un flot de sortie sur un fichier mais le pb c ke la chaine ke je lui demande de mettre ds le fichier n CRYPTAGE DE DONNEES [ par Smokhasch ] Salut à tous,J'ai un devoir de langage C à rendre pour vendredi et je ne comprends strictement rien à ce sujet (à cause de problème de santé j'ai raté boite de dialogue en C [ par benhamid ] Bonjour, J'ai quelque problème en C, pouvez vous m'aider svp.J'ai des fonctions C suivantes: lecturefichier(FILE * f1) qui lit le fichier f1calcul( Fi


Nos sponsors


Sondage...

Comparez les prix

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,343 sec (4)

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