begin process at 2012 05 29 20:43:31
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Fichier / Disque

 > 

Problème avec traitement de fichier (cplusplus !)


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

Problème avec traitement de fichier (cplusplus !)

dimanche 10 juin 2001 à 21:35:46 | Problème avec traitement de fichier (cplusplus !)

Sianrin

Voila, j'explique mon problème. Pour voir un peu comment les accès au fichiers se géraient en cplusplus, je me suis mis en tête de faire un programme tout simple proposant 2 choix (pour en gros faire une mini base de donnée):
1. Créer un nouveau fichier et pour cela je demande plusieurs information : le nom, l'age, et le sexe.
Ces information sont enregistrée dans un fichier nouvellement créé se nommant ainsi : nom de l'utilisateur + .txt (ex: utilisateur : TEST donc le fichier se nomme ainsi : TEST.txt). Jusque là pas de problème :)

2. L'autre fonction du programme sert a recuperer les informations du fichier et donc demande le nom d'utilisateur de la personne ayant créé une fiche juste avant... c'est là qu'intervient mon problème, je n'arrive pas a faire tester au programme pour savoir si oui ou non le fichier existe vraiment (pour reprendre l'exemple d'avant avec TEST.txt, si la personne se trompe et tape par exemple TEST1.txt, mon programme me fait cette erreur :

L'instruction à "0x0041222c" emploie l'adresse mémoire "0x0000000c". La mémoire ne peut pas être "read".

Je me suis donc dis, prenons l'exemple de l'aide de Visual cplusplus, celle-ci me dit donc que pour tester un fichier il faut faire ceci :

FILE *stream;
if((stream = fopen("nomdufichier", "rb"))==NULL)
{
cout << "Le fichier ne peut pas être ouvert";
}

Or j'ai fait ceci pour ma fonction ouvrant le fichier, mais cela ne fonctionne toujours pas :(

Enfin voila, est-ce que qqn connait il qqch d'autre pour tester si un fichier existe ou non ?

Enfin voici mes 2 fonctions traitant les fichier :

/*Fonction sauvegardant dans un fichier les informations sur le joueur */

void SaveCoord(char nomSave[10])
{
FILE *Player_file;
strcat( nomSave, ".txt");
Player_file= fopen( nomSave , "wb");
fwrite( &Player.Name, sizeof(Player.Name), 1, Player_file);
fwrite( &Player.Age, sizeof(Player.Age), 1, Player_file);
fwrite( &Player.Sexe, sizeof(Player.Sexe), 1, Player_file);
fclose(Player_file);
}

/*Fonction Chargeant les coordonnées*/

void LoadCoord(char nomLoad[10])
{
FILE *Player_file;
strcat( nomLoad, ".txt");
if((Player_file = fopen( nomLoad , "rb"))==NULL)
{
cout << "Fichier non trouvé !\n";
}
fread( &Player.Name, sizeof(Player.Name), 1, Player_file);
fread( &Player.Age, sizeof(Player.Age), 1, Player_file);
fread( &Player.Sexe, sizeof(Player.Sexe), 1, Player_file);
fclose(Player_file);
}

Bon ok ça manque un peu de commentaire et c'est probablement un peu du bricolage comme code (Bah oui, je débute dans ce sujet, je fais donc des experiences :)

Ce que je peux rajouter la dessus c'est que j'ai dans mon code, définis une structure Joueur possédant ces paramètres :
char Name[10];
int Age;
char Sexe[1];

Bon excusez moi pour la longeur de ce post, j'espère avoir une réponse car là je ne sais plus quoi faire :(

Merci d'avance ! Si jamais vous avez besoin de plus d'indication dite le moi !

Sianrin.


Cette discussion est classée dans : fichier, file, age, player, sexe


Répondre à ce message

Sujets en rapport avec ce message

Enregistrer en HEXA un texte avec gcc !! [ par UncleShu ] /* * Ce programme affiche le fichier en HEXADECIMAL et se copie lui-même avec * une autre exetenstion (.txt). Moi je voudrais qui affiche le fichier * Petit probleme de code en C sur Linux !! [ par UncleShu ] Je voudrais créer un fichier dans le réperoire personnel d'un utilisateur mais mon code ne marche pas !!#include #include #include #define DIR $HOM ouverture de fichier avec les MFC [ par steph76 ] Bonjourvoila je programme une application qui ha beusoin d'ouvrir 1 fichier via httpJ'ai donc fait le code suivantCStdioFile *file;CInternetSession IS 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 prob avec nom de fichier. [ par kach23 ] bonjour, je debute etje réalise une acquisition de mesure avec builder.je souhaite que le nom du fichier ouvert a chaque acquisition soit different.vo GROS problème avec ' tellg() ' [ par Sanke ] Bonjour à tous, je poste ce message parce que je ne comprends pas ce qui se passe avec tellg() :je m'explique, je lis un fichier ligne à ligne dont vo 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 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 help fonction recursive [ par gege1024 ] qq'un peut-il me venir en aide pour rendre ma source recursive aux sous-repertoire, c'est a dire que je veux relancer le traitement findfirstfile sur


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

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

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