RECHERCHER :
COMMUNAUTE MP
Identifiez vous ...
Devenir Membre
J'ai oublié mon MDP
DOMAINE MP
Bavardages
Langages Généraux
Langages Web
Langages DotNet
Autres langages
Dev. Jeux Video
Sécurité
Sys. Exploitation
Graphismes
Logiciels
Réseaux
Bases de données
Méthodologies
Emplois High-tech
Aide juridique
Articles juridiques
FORUM
Index des forums
Ajouter un sujet
Rechercher sujet
Contact Responsable
Devenir modérateur
CHAT MP IRC
Votre pseudo ...
Srv: irc.moteurprog.com
Chan: #MoteurProg
PARTICIPER
Plus de 3500 emplois.
Rechercher un job
Déposez votre CV
Emplois High-tech

Visiteur MP

 Faute de pile dans le module TOOLHELP.dl

Forum : C
Sous Catégorie : Aucune
Type du sujet : Sujet Normale
FAQ : FAQ C

SUIVI DES SUJETS PAR MAIL

SUIVI PAR MAIL INACTIF

RESOLUTION DU SUJET SUJET RESOLU
BLOQUAGE DU SUJET SUJET ACTIF
APPARTENANCE A LA FAQ N'APPARTIENT PAS A LA FAQ


PAGES : [1] [2]

POSTER UN NOUVEAU SUJET REPONDRE A CE SUJET

FORUM C

PREMIERE PAGE

PAGE PRECEDENTE

Page précedente

Page suivante

PAGE SUIVANTE

DERNIERE PAGE
Biboup
Membre du club
Avatar de Biboup
Inscrit : 07/06/2004
Messages : 1859
Message
#136616
Posté le 21/06/07 à 15:49
Bonjour à tous,
Voila, je souhaite enregistrer des données dans un fichier.
Se fichier se situe dans un repertoire situé dans le reprtoire ou se situe le programme.
Mais je n'arrive pas à selectionner ce repertoire.
Le repertoire s'appele "OK"

Pour l'utiliser je fai "OK\\" auquel je concatène le nom de fichier.
mais lors de l'ouverture du fichier, cela me retourne une erreur, si quelqu'un sait comment on accède à un repertoire fils...
__________________________
Modérateurs VB et Merise à la retraite (la retraite à 20 ans... le rève! ^^ )
L'aide (F1 pour les intimes) permet de résoudre pas mal de problèmes. Consultez la!!
De même avec les Les FAQ!!
A vaincre sans effort, on triomphe sans gloire

RESOLU est très utile pour les modérateurs pressés, PENSEZ-Y!!

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

Publicité
Inscrit : X
Messages : X
Message
#Aucun

HAUT DE PAGE

  

rainbow
Membre du club
Chef de projet(s) :
- IA savane
- Team MoteurProg

Avatar de rainbow
Inscrit : 26/05/2006
Messages : 995
Message
#136621
Posté le 21/06/07 à 16:22
normalement ça marche ainsi :

ifstream fichier( "rep\\test.txt" );

Vérifie que le résultat de la concaténation est bien le chemin correct. Smiley
__________________________
............ Curtis: RTS 3D ..............
......Image
........... TeamMoteurProg...........

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

Biboup
Membre du club
Avatar de Biboup
Inscrit : 07/06/2004
Messages : 1859
Message
#136713
Posté le 22/06/07 à 15:24
en fait après test mon problème n'est pas au niveau du chemin.

Mais ailleurs...
Maintenant quand j'execute, j'obtiens une fenêtre d'erreur lorsque j'execute une fonction :
"Faute de pile dans le module TOOLHELP.dll à l'adresse 0001:2239"

Et quand je copie la fonction dans un autre programme elle marche nickel.


Ps : ifstream c'est du C? je l'avais utilisé en cpp...
__________________________
Modérateurs VB et Merise à la retraite (la retraite à 20 ans... le rève! ^^ )
L'aide (F1 pour les intimes) permet de résoudre pas mal de problèmes. Consultez la!!
De même avec les Les FAQ!!
A vaincre sans effort, on triomphe sans gloire

RESOLU est très utile pour les modérateurs pressés, PENSEZ-Y!!

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

rainbow
Membre du club
Chef de projet(s) :
- IA savane
- Team MoteurProg

Avatar de rainbow
Inscrit : 26/05/2006
Messages : 995
Message
#136726
Posté le 22/06/07 à 16:56
Le mieux serait de nous passer le bout de code qui ne fonctionne pas Smiley

aucun dit :
Ps : ifstream c'est du C? je l'avais utilisé en cpp...

>ifstream provides an interface to read data from files as input streams.
C'est plus simple de gérer les fichiers grâce à la gestion des flux c++.
__________________________
............ Curtis: RTS 3D ..............
......Image
........... TeamMoteurProg...........

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

vortex666
Modérateur :
- C & C++
- OpenGL
- Delphi
Chef de projet(s) :
- Vortez3DEngine

Avatar de vortex666
Inscrit : 20/09/2004
Messages : 487
Message
#136729
Posté le 22/06/07 à 17:01
Ouais, il nous faudrais plus d'information:

-c'est une dll que tu a fait toi meme?
-De quelle maniere la tu inclut dans ton project(avec ou sans .h et .lib)
-comme rainbow la dit avant, un ptit bout de code, de la dll, ou du code qui appelle ta fontion(ou les 2!)

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

Biboup
Membre du club
Avatar de Biboup
Inscrit : 07/06/2004
Messages : 1859
Message
#136920
Posté le 25/06/07 à 08:31
Voila c'est lors de l'execution de cette fonciton que tout foire.

La dll est une dll windows, d'après ce que j'ai compris quand j'ai cherché elle gèrerait les api win.

J'ai l'impression, que la dll ne supporte pas l'ordre de réouverture d'un fichier.

Pour le gérer en cpp, en fait ça me poserait pas de problème, mais j'ai jamais fait de fichier en cpp...


void depart(int a) { char *chemin; FILE* fsrc; FILE* fdest; char buffer[3200]; nomfichier="essai.txt"; fclose(phichier); if(a==-1) { printf("Erreur d'ouverture d'un fichier"); exit(1); } else { if(a==0) { chemin=".\\OK\\"; if((fsrc=fopen(nomfichier,"r")) == NULL) {exit(-1) ;} } else { chemin=".\\KO\\"; if((fsrc=fopen(nomfichier,"r")) == NULL) {exit(-1);} } if((fdest=fopen(strcat(chemin, nomfichier), "w" )) == NULL) exit(-1); fgets(buffer,3200, fsrc); fputs(buffer, fdest); fclose(fdest); fclose(fsrc); printf("erreur dans la trame. Numéro de l'erreur : %i",a); exit(0); } }

__________________________
Modérateurs VB et Merise à la retraite (la retraite à 20 ans... le rève! ^^ )
L'aide (F1 pour les intimes) permet de résoudre pas mal de problèmes. Consultez la!!
De même avec les Les FAQ!!
A vaincre sans effort, on triomphe sans gloire

RESOLU est très utile pour les modérateurs pressés, PENSEZ-Y!!

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

Biboup
Membre du club
Avatar de Biboup
Inscrit : 07/06/2004
Messages : 1859
Message
#136942
Posté le 25/06/07 à 14:19
J'ai transcrit mon code en cpp.

Il reste une erreur, apparaissant dans la même fonction que cité précédement.
Mais j'ai put la traquer jusqu'au bout :
strcat(chaine1, chaine2) provoque l'erreur "Une violation d'accès (erreur de segmentation) est apparue dans votre programme."

Je pense que la concaténation de 2 char* est fatale...

Maintenant je remplacerais bien les char* par des string, mais la chaine est le nom de fichier (et son chemin).
Et quand je met string, il me fait un plantage...
__________________________
Modérateurs VB et Merise à la retraite (la retraite à 20 ans... le rève! ^^ )
L'aide (F1 pour les intimes) permet de résoudre pas mal de problèmes. Consultez la!!
De même avec les Les FAQ!!
A vaincre sans effort, on triomphe sans gloire

RESOLU est très utile pour les modérateurs pressés, PENSEZ-Y!!

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

vortex666
Modérateur :
- C & C++
- OpenGL
- Delphi
Chef de projet(s) :
- Vortez3DEngine

Avatar de vortex666
Inscrit : 20/09/2004
Messages : 487
Message
#136964
Posté le 25/06/07 à 20:19
ok, essaye de rentrer le nom de fichier a la main, avec le repertoire complet, comme ca, si ca ne plante plus, ca veut effectivement dire que le problemme est la. Aussi, essaye

char fname[256];
sprintf(fname, "%s%s", chemin, nomfichier)

le nom d'un fichier, repertoire et extension compris, ne peuve exceder 256 octects, alors c pour ca que j'ai mis 256 octects pour fname...

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

Biboup
Membre du club
Avatar de Biboup
Inscrit : 07/06/2004
Messages : 1859
Message
#136986
Posté le 26/06/07 à 09:59
J'ai esquivé le problème, je gère la concaténation via des string (grâce à mon passage vers le cpp)
Et l'ouverture des fichiers : ifstream ne gère pas de string seulement des char.
dans ce cas il suffit de faire mastring.c_str()
voili voilou!

Merci à vous!
__________________________
Modérateurs VB et Merise à la retraite (la retraite à 20 ans... le rève! ^^ )
L'aide (F1 pour les intimes) permet de résoudre pas mal de problèmes. Consultez la!!
De même avec les Les FAQ!!
A vaincre sans effort, on triomphe sans gloire

RESOLU est très utile pour les modérateurs pressés, PENSEZ-Y!!

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

rainbow
Membre du club
Chef de projet(s) :
- IA savane
- Team MoteurProg

Avatar de rainbow
Inscrit : 26/05/2006
Messages : 995
Message
#136998
Posté le 26/06/07 à 12:05
c'est pour cela que je t'avais mis un exemple en haut : les variables de types string sont en effet les plus pratiques pour la gestion des fichiers surtout grâce à la rapide conversion de string vers char* Smiley
__________________________
............ Curtis: RTS 3D ..............
......Image
........... TeamMoteurProg...........

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 
POSTER UN NOUVEAU SUJET REPONDRE A CE SUJET

PREMIERE PAGE

PAGE PRECEDENTE Page précédente

Page suivante

PAGE SUIVANTE DERNIERE PAGE

FORUM C



    PAGES : [1] [2]



.: Site Web développé par Julien Pichot et l'équipe MPWG avec www.evolvia-web.com :.