Pourrais-je avoir un petit programme d'exemple de l'utilisation des api :
- OpenFile
- CreateFile
- SetFilePointer
Car lorsque je les utilise, je n'accède pas au bon endroit dans le fichier...
Thank's
Pourrais-je avoir un petit programme d'exemple de l'utilisation des api :
- OpenFile
- CreateFile
- SetFilePointer
Car lorsque je les utilise, je n'accède pas au bon endroit dans le fichier...
Thank's
salut, c'est que a priori tu te plantes dans l'appel de setFilePointeur:
avant de commencer à lire le fichier :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 // Try to move hFile's file pointer some distance. dwPtr = SetFilePointer (hFile, lDistance, NULL, FILE_BEGIN) ;
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 dwPtr = SetFilePointer (hFile,0, NULL, FILE_BEGIN) ;
Ce qui est affirmé sans preuve peut être nié sans preuve Euclide.
Les conversions numériques en C,C++,C++/CLI
DLL d'extensions : écriture d'un plug-in de classe
Démarrer avec les MFC 2/2
Création d'un ActiveX MFC
Intégration d'une imprimante PDF pour éditions automatisées
Migrer du code de Visual C++ 6.0 vers Visual C++ 2005
Démarrer avec les MFC sous Visual C++1/2
la Faq Visual C++ 500 Q/R,Mon blog
Aide en Ligne MFC
Cours et tutoriels C++ - FAQ C++ - Forum C++.
Salut
Déjà OpenFile n'est plus a utiliser, il faut prendre à la place CreateFile
Voici un exemple d'utilisation tiré du MSDN.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60 HANDLE hFile; HANDLE hAppend; DWORD dwBytesRead, dwBytesWritten, dwPos; char buff[4096]; // Open the existing file. hFile = CreateFile("ONE.TXT", // open ONE.TXT GENERIC_READ, // open for reading 0, // do not share NULL, // no security OPEN_EXISTING, // existing file only FILE_ATTRIBUTE_NORMAL, // normal file NULL); // no attr. template if (hFile == INVALID_HANDLE_VALUE) { ErrorHandler("Could not open ONE."); // process error } // Open the existing file, or if the file does not exist, // create a new file. hAppend = CreateFile("TWO.TXT", // open TWO.TXT GENERIC_WRITE, // open for writing 0, // do not share NULL, // no security OPEN_ALWAYS, // open or create FILE_ATTRIBUTE_NORMAL, // normal file NULL); // no attr. template if (hAppend == INVALID_HANDLE_VALUE) { ErrorHandler("Could not open TWO."); // process error } // Append the first file to the end of the second file. // Lock the second file to prevent another process from // accessing it while writing to it. Unlock the // file when writing is finished. do { if (ReadFile(hFile, buff, 4096, &dwBytesRead, NULL)) { dwPos = SetFilePointer(hAppend, 0, NULL, FILE_END); LockFile(hAppend, dwPos, 0, dwPos + dwBytesRead, 0); WriteFile(hAppend, buff, dwBytesRead, &dwBytesWritten, NULL); UnlockFile(hAppend, dwPos, 0, dwPos + dwBytesRead, 0); } } while (dwBytesRead == 4096); // Close both files. CloseHandle(hFile); CloseHandle(hAppend);
"La haine seule fait des choix" - Koan Zen
"Il ne faut pas être meilleur que les autres, il faut être meilleur que soi." Albert Jacquard
"Ceux qui savent où ils ont posé leur parapluie ne sont pas alcooliques." - pgibonne.
Faites du Prolog, ça vous changera les idées !
Ma page Prolog
Mes codes sources commentés
Mon avatar : La Madeleine à la veilleuse de Georges de La Tour
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager