Bonjour j'ai un problème de manipulation de fichier, voilà ce que j'utilise:
char nomdufichier[MAX_PATH];
struct FILE *fileproject;
OPENFILENAME ofn;
nomdufichier[0] = 0;
ofn.lStructSize = sizeof(OPENFILENAME);
ofn.hwndOwner = GetActiveWindow();
ofn.hInstance = g_hInst;
ofn.lpstrFilter = ".stlp\0*.stlp\0\0";
ofn.lpstrFile = nomdufichier;
ofn.lpstrCustomFilter = 0;
ofn.lCustData = 0;
ofn.lpTemplateName = 0;
ofn.lpstrInitialDir = dossierprojet;
ofn.lpfnHook = 0;
ofn.nMaxCustFilter = ofn.nMaxFileTitle = 0;
ofn.lpstrDefExt = "stlp";
ofn.nFilterIndex = 1;
ofn.nMaxFile = MAX_PATH;
ofn.lpstrTitle = "Sauvegarder le projet";
ofn.Flags = OFN_HIDEREADONLY | OFN_EXTENSIONDIFFERENT;
if(GetSaveFileName(&ofn)){
if(fileproject=fopen(nomdufichier,"w")==NULL){
MessageBox(GetActiveWindow(),"Impossible d'ouvrir le fichier projet","Erreur",0);
}else{
SendMessage(hStatusbar,SB_SETTEXT,2,(LPARAM)"Sauvegarde du projet ...");
//ici ce que j'écrirai dans le fichier
fclose(fileproject);
}
SendMessage(hStatusbar,SB_SETTEXT,2,(LPARAM)"Fichier sauvegardé !");
}
Le fichier se cré, s'ouvre, mais la fonction fclose produit une erreur "l'application a causé une erreur et va fermer" .
Dans beaucoup d'exemples j'ai vu comme déclaration:
FILE *fileproject;
mais j'utilise devcpp en C et je suis obligé de mettre "struct" devant sinon il me dit "FILE undeclared first use in this fonction" à la compilation.
Je dois avoir un gros pb de pointeurs mais je n'arrive pas à m'en dépétrer seul.
Merci d'avance à bientôt.
