Accueil > Forum > > > > Renseugenement sur write file et readfile
Renseugenement sur write file et readfile
lundi 27 mars 2006 à 23:18:32 |
Renseugenement sur write file et readfile

julienbornet
|
Bonjour a tous voila je cherche a savoir quelque chose. Voila, je doit realiser un rpogram ou j'enregistrer des donnes dans un fichier. Jusque la rein de bien nouveau. Bon n'etant pas trop habitue au API ni un pro de la programmation, j'utilisais les fonction fopen pour ouvrir mon fichier et fprintf pour ecrire dedans. Cependant dans le but d'uniformiser ma maniere de coder mais aussi et surtout d'ameliorrer la vitesse d'ecriture des ces donnes , j'ai decider de passer en API. J'tulisie donc CreateFile et WriteFile. Le probleme c'est qu'avant mes donnees enregistrer en txt etait visible dnas le notpad mais mainteant j'obtient des carre. Je suppose que cela veint de la maniere dont la fonction ecrit les donnees. Je voudrais donc savoir s'il existe une otpion de writefile qui permettent d'ecrire des donnes lisibles (sans passer par une editeur de texte maison avec readfile par exemple). D'avance merci PS: Pour ceux qui aurait des doutes sur mon codes et je les comprends le voici (ce n'est qu'un exemple) #include <windows.h> #include <iostream> using namespace std; int main () { int t1[5] = {1,2,3,4,5}; HANDLE fichier; HANDLE hFile; DWORD octetsEcrits; fichier = CreateFile("test.txt", GENERIC_WRITE, FILE_SHARE_WRITE, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL); if( fichier == INVALID_HANDLE_VALUE) return false; if (!WriteFile(fichier, t1 ,sizeof(int)*5,&octetsEcrits,NULL)) { // erreur; } CloseHandle(fichier); for (int i = 0; i <= 4;i++) { cout << t1[i]; } hFile = CreateFile("test.txt",GENERIC_READ,FILE_SHARE_READ,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL); if (hFile == INVALID_HANDLE_VALUE) return false; int t2[5]; DWORD octetsLu; if (!ReadFile(hFile,t2,sizeof(int)*5,&octetsLu,NULL)) { // erreur; } CloseHandle(fichier); cout << endl; for (int i = 0; i <= 4;i++) { cout << t1[i]; } cin.ignore(); return 0; }
|
|
lundi 27 mars 2006 à 23:47:18 |
Re : Renseugenement sur write file et readfile

BruNews
|
Quand on écrit directement les données elles ne sont pas lisibles (à moins d'être un processeur), mets les en forme ascii dans une chaine si tu y tiens mais c'est moins performant car besoin de conversion dans les 2 sens. ciao... [ Lien ]BruNews, MVP VC++
|
|
mardi 28 mars 2006 à 17:05:19 |
Re : Renseugenement sur write file et readfile

julienbornet
|
Ok Brunews, je te remercie du renseignement. Je voulais aussi avoir un deuxieme renseugement, voila j'ai tourver un de tes programme qui compare la vitesse ne d'ecriture dans un fichier de la fonction sprintf et de l'API writefile() . Voiale dans ton programme tu fait le test en ecrivant 6000 fois la meme chaine de caracteres avec ces deux fonction et on peut ainisi comparer leure temps d'execution. Mais voila si on passe a 100000 voir meme 800000 ces deux fonctions devienne equivalente. Peut tu me confirmer ceci? Le gain de writefile ne se ferait il que sur les fichiers de taille modeste.
D'avance merci
|
|
mardi 28 mars 2006 à 17:20:43 |
Re : Renseugenement sur write file et readfile

julienbornet
|
pardon c 'est pas la fonction sprintf mais fwrite desole
|
|
mardi 28 mars 2006 à 20:05:05 |
Re : Renseugenement sur write file et readfile

BruNews
|
Réponse acceptée !
Quand on arrive sur de gros fichiers d'autres facteurs entre en compte, le taux de fragmentation du disque dur par exemple. Dans tous les cas, on ne va jamais plus vite que par la ligne droite et comme toute autre fonction devra par force finir par appeler WriteFile (en mode protégé on ne touche pas aux périphs autrement que par les fonctions du systeme hote), il est clair que rien n'ira plus vite que l'appel direct de l'API. ciao... [ Lien ]BruNews, MVP VC++
|
|
mardi 28 mars 2006 à 20:08:43 |
Re : Renseugenement sur write file et readfile

julienbornet
|
Merci pour tous ces renseignements, j'en prend bonne notes
|
|
Cette discussion est classée dans : fichier, int, file, write, readfile
Répondre à ce message
Sujets en rapport avec ce message
Creation de fichier [ par PLUiK ]
SalutJai fait une source qui devrait normalement me créer un fichier la voici:[b]#include int WINAPI WinMain (HINSTANCE hThisInstance,HINSTANCE hPrevI
prob pour coder fichier sur une matrice [ par Jazz_s ]
je voudrais lire un fichier via fstream et ensuite reproduire celui ci parfaitement dans une matrice pour pouvoir jongler facilement par apres avec le
wxFILE-->Creer un fichier, l' éditer et l'enregistrer [ par satellite34 ]
Bonsoir,Je cherche à creer un fichier, à l' éditer et à l'enregistrer;Je fais ca avec la classe wxFILE; file = new wxFile(); &n
fonction avec un type file* [ par vercd7am ]
Bonjour, j'ai ecrit quelques lignes de code pour pouvoir lire un fichier txt. [code=cpp]int main() { int c; FILE *fichier = NULL; fichi
les fichier en C [ par abdobergach ]
bonjour j'ai un erreur qui je connais pas pouquoi qlq'un m'aider svp,voila l'eerreur: error C2664: 'CreateFileW'*: impossible de convertir le paramètr
Premier prog [ par ryder0007 ]
Bonjour, Voila j'ai terminer de programmer mon premier programme et je voudrais savoir ce que vous en pensez. Il permet de compter le nombre de caract
Problème d'affichage a la lecture d'un fichier avec fonction fstream et stockage dans une chaine [ par curite ]
Bonjours, j'ai créer un gestionnaire de mot de passe en c++ je vous montre le code sinon vous allez rien comprendre :p main.cpp [code=cpp] #include
enregister un fichier depuis les ressources [ par baby3378 ]
Bonjour à tous, Voilà, afin de faciliter l'utilisation d'une application j'ai décidé de stocker les images et dll en ressource dans mon application af
Tableau C [ par 3463 ]
Salut à tous j'ai vraiment besoin de votre aide !! [code=cpp] # include # include # include # include # include # include # include using nam
C dup utilisation [ par Tom59247 ]
Bonjour à tous ! Je réalise actuellement un petit programme qui me permet de mettre quelques infos dans un fichier txt. Après quelques recherches j'
Livres en rapport
|
Derniers Blogs
POUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDNPOUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDN par neodante
Quelle est le point commun entre : Microsoft il y a 10 ans et Apple aujourd'hui ? Réponse: avoir une politique de protocoles propriétaires et fermés :) Car pour rappel (si si je vous assure c'est important de le rappeler), la majorité des spécifications e...
Cliquez pour lire la suite de l'article par neodante JOYEUX ANNIVERSAIRE NIXJOYEUX ANNIVERSAIRE NIX par ebartsoft
Souhaitons un bon et joyeux anniversaire à notre hôte à tous, Nix.
Je ne le répéterais jamais assez mais sans lui rien ne serait possible. Il défit en permanence les lois de la gravité et comme il le dit si bien, si tu lui fais confiance ça devra...
Cliquez pour lire la suite de l'article par ebartsoft IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc
Forum
MATLAB PROGRAMME MATLAB PROGRAMME par wahab1087
Cliquez pour lire la suite par wahab1087
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|