CreateFile()

oudkaramla Messages postés 107 Date d'inscription mardi 2 mars 2004 Statut Membre Dernière intervention 5 juillet 2004 - 7 mai 2004 à 15:23
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019 - 10 mai 2004 à 22:07
je veux ouvrir un fichier sur l'ordinateur pour cela je ne sai spas quoi utiliser fopen() ou createfile() quelle est la différence entre les deux?
comment faire pour ouvrir à l'aide de createfile un fichier en indiquant son emplacement D:\ahmed.dcr ppar exemple

j'aimerais aussi savoir comment comment créer et ouvrir (en écriture) le fichier de rendement finale.

le tout s'inscrivant dans une logique de transformation de format de fichier
merci beaucoup
ahmed

11 réponses

neohp Messages postés 62 Date d'inscription jeudi 5 juin 2003 Statut Membre Dernière intervention 14 octobre 2005
7 mai 2004 à 15:44
hello

fopen est une fonction standard en C....
si tu veux ouvrir un fichier en mode ecriture et que ce fichier n'existe pas encore, il est crer automatiquement...

ex:

FILE * fichier ; //pointeur sur un structure de fichier

/* on ouvre un fichier en mode texte et ajout si le fichier n'existe pas il est crée */
if( fichier = fopen("c:\\toto.tutu", "at" ) != NULL )
{
/* ici les instruction d'ecriture ...*/
...
fclose(fichier) ;
}
else
printf("impossible d'ouvrire le fichier\n") ;

voila ... pour les paramètres de fopen regarde dans les aides ( il y a : r, w, a, t, b, +... ( la touche F1 est ton amie ))

neoh_p [=- coding spirit -=]
------- since 1999 ------
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
7 mai 2004 à 16:04
Si tu prog sur win32 alors CreateFile() s'impose ainsi que l'emploi de l'API dans son ensemble.

ciao...
BruNews, Admin CS, MVP Visual C++
0
c2millet Messages postés 198 Date d'inscription lundi 2 juin 2003 Statut Membre Dernière intervention 15 février 2005
7 mai 2004 à 16:34
pkoi CreateFile() s'impose sur win32?
Cmill
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
7 mai 2004 à 16:45
Parce que la ligne droite est la distance la plus courte entre 2 points.

ciao...
BruNews, Admin CS, MVP Visual C++
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
c2millet Messages postés 198 Date d'inscription lundi 2 juin 2003 Statut Membre Dernière intervention 15 février 2005
7 mai 2004 à 16:46
si tu le dis ...........
Cmill
0
cs_azkab Messages postés 22 Date d'inscription mardi 18 février 2003 Statut Membre Dernière intervention 29 juin 2004
10 mai 2004 à 18:22
bonjour a tous,
comment peut on ecrire dans un fichier binaire en utilisant CreatFile?est ce que c possible d abord?
merci a vous
return(0);)
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
10 mai 2004 à 18:28
CreateFile tamponne une quantite d'octets partant d'une adresse de base, donc toujours binaire.

ciao...
BruNews, Admin CS, MVP Visual C++
0
cs_azkab Messages postés 22 Date d'inscription mardi 18 février 2003 Statut Membre Dernière intervention 29 juin 2004
10 mai 2004 à 18:41
et c possible d y ecrire?si oui une petite indication sera la bienvenue.
merci
return(0);)
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
10 mai 2004 à 18:54
Excuse, en sautant d'un truc a l'autre j'ai repondu trop vite comme d'hab.
CreateFile ouvre ou cree fichier (entre autre).
WriteFile ecrit.

DWORD necrits;
WriteFile(hfile, pmem, noctets, &necrits, 0);

Nombreux exemples dans mes sources et bien entendu il faut lire MSDN.

ciao...
BruNews, Admin CS, MVP Visual C++
0
cs_azkab Messages postés 22 Date d'inscription mardi 18 février 2003 Statut Membre Dernière intervention 29 juin 2004
10 mai 2004 à 22:02
BruNews j espere que je t embete pa. j ai jetter un coup d oeil sur les writefile dans msdn et j ai trouvé que c pour l ecrtiture dans des fichier texte. moi je veux ecrire dans un fichier binaire. j espere que je me trompe pa

return(0);)
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
10 mai 2004 à 22:07
Binaire, pas binaire sont des notions obsoletes sur win32.

BYTE pmem[48]; // tu remplis comme tu veux
DWORD d;
HANDLE hfl;
hfl = CreateFile(nomfich,...);
d = 0; WriteFile(hfl, pmem, 48, &d, 0);
if(d != 48) ErrorEcriture;
CloseHandle(hfl);

ciao...
BruNews, Admin CS, MVP Visual C++
0
Rejoignez-nous