Bonjour,
J'ai un problème avec la fonction WriteFile : je cherche à écrire un tableau de double dans un fichier mais je retrouve des caractères non reconnus à la place (de ce genre la : ????????), mon tableau ne contient que des valeurs décimales. Autre question : je suppose qu'il est possible de passer un nom de fichier par défaut à la fonction GetSaveFileName mais je n'arrive pas à y faire. Comment puis-je y réaliser?
Merci d'avance.
Voici la partie concernée de mon programme :
char filename[256];
char szFile[256];
sprintf(filename,"cal_c2-%s.txt",asctime(tim)); // Nom du fichier + date et heure de création
OPENFILENAME ofn;
HANDLE hf;
DWORD dw;
ZeroMemory(&ofn, sizeof(ofn));
ofn.lStructSize = sizeof(ofn);
ofn.nMaxFile = sizeof(szFile);
ofn.lpstrFilter = "Fichiers textes\0*.TXT\0Tous\0*.*\0"; // Filtre les fichiers
ofn.nFilterIndex = 1;
ofn.lpstrFile = szFile;
ofn.lpstrFile[0] = '\0';
ofn.lpstrFileTitle = szFile;
ofn.nMaxFileTitle = 0;
ofn.lpstrInitialDir = "C:\Projet"; // Chemin par défaut
ofn.Flags = OFN_EXPLORER | OFN_PATHMUSTEXIST | OFN_SHOWHELP | OFN_OVERWRITEPROMPT;
ofn.lpstrTitle = NULL; // modifie nom de la fenetre
ofn.lpstrDefExt = ".txt";
if (GetSaveFileName(&ofn) == true)
{
hf = CreateFile(ofn.lpstrFile, GENERIC_WRITE,
0, (LPSECURITY_ATTRIBUTES) NULL,
CREATE_NEW, FILE_ATTRIBUTE_NORMAL,
(HANDLE) NULL);
BOOL b = WriteFile(hf, cal, sizeof(cal), &dw, NULL);
if (!b) {
MessageBox(NULL, "Erreur Fichier", "Impossible d'écrire dans le fichier", MB_OK);
}
CloseHandle(hf);
}