Accueil > Forum > > > > probleme dans la lecture d'un fichier
probleme dans la lecture d'un fichier
samedi 11 mars 2006 à 23:22:51 |
probleme dans la lecture d'un fichier

jack_ryan
|
bonjour, voila je cherche a ouvrir un fichier bmp et mon code ne semble pas avoir accés a tout le fichier je m'en remet a vous pour savoir si cela est normal merci d'avance. if (GetOpenFileName(&ofn)==TRUE) { HANDLE fo; DWORD lenbloc,s; char tampon[1146881],temp[1146881]; int i; nbfichier++;//incremente le nombre total de fichier //on ouvre le fichier fo = CreateFile(ofn.lpstrFile, GENERIC_READ, 0,NULL,OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL); if(fo == INVALID_HANDLE_VALUE)return 1;//on verifie que le fichier est ouvert lenbloc = 1146880 ;//recupere la taille du fichier tampon = (char) malloc(lenbloc); //alloue la taille du tampon ReadFile(fo, tampon, lenbloc, &s, NULL);//lit le fichier et place son contenu dans tampon fichier[1][lenbloc+1]=0; for(i=0;i<=lenbloc+1;i++) temp[i]= fichier[1][i]; tampon[lenbloc+1]=0;//place le carractere de fin de chaine a la fin du tampon free(tampon);//reinitialise le tampon SendMessage(hwnd, WM_SETTEXT, 0, (LPARAM) ofn.lpstrFile);//affiche en haut de la fenetre le chemin et le nom du fichier ouvert CloseHandle(fo);//ferme le fichier }
|
|
samedi 11 mars 2006 à 23:41:58 |
Re : probleme dans la lecture d'un fichier

BruNews
|
ne pas déclarer d'aussi gros buffers locaux, faut alloc dynamique: char tampon[1146881],temp[1146881]; ensuite on voit plus bas: tampon = (char) malloc(...) ??? faudrait savoir et (char), serait pas (char*) plutot ? tampon[lenbloc+1]=0; selon le malloc tu écris hors tableau, ecrasement de données. surtout que suivi de: free(tampon); ça ne me semble pas utile ce qui est plus haut. et, etc... Donne plutot le but à atteindre, on verra ce qu'on peut faire. ciao... [ Lien ]BruNews, MVP VC++
|
|
samedi 11 mars 2006 à 23:46:08 |
Re : probleme dans la lecture d'un fichier

jack_ryan
|
en fait ce serai pour stoquer les données dans un tableau dans le but de les lires par la suite a +
|
|
dimanche 12 mars 2006 à 00:32:35 |
Re : probleme dans la lecture d'un fichier

BruNews
|
Réponse acceptée !
LPVOID pmem = 0; DWORD size, d; fo = CreateFile(ofn.lpstrFile,GENERIC_READ,0,0,OPEN_EXISTING,0,0); if(fo == INVALID_HANDLE_VALUE) return 1; // ERREUR OUVERTURE size = GetFileSize(fo, 0); if(!size || GetLstError()) goto closeFL; pmem = VirtualAlloc(0, size, MEM_COMMIT | MEM_RESERVE); if(!pmem) goto closeFL; d = 0; ReadFile(fo, pmem, size, &d, 0); if(d != size) { VirtualFree(pmem, 0, MEM_RELEASE); pmem = 0; } closeFL: CloseHandle(fo);
A ce point si pmem != 0 tu as les octets du fichier dans pmem sur une longueur size. Pourquoi mettre un zero au bout de pmem ???
ciao...
[ Lien ] BruNews, MVP VC++
|
|
dimanche 12 mars 2006 à 00:38:58 |
Re : probleme dans la lecture d'un fichier

jack_ryan
|
en fait j'ai fait un mélange des codes que j'ai trouvé, le zero je crois me souvenir que c'était pour marquer la fin de mon tableau mais bon c'est vrai que c'est inutile je vais utiliser ton ton code merci beaucoup
|
|
dimanche 12 mars 2006 à 01:00:27 |
Re : probleme dans la lecture d'un fichier

jack_ryan
|
re moi il ne reconnait pas GetLstError c'est dans quelle librairie?
|
|
dimanche 12 mars 2006 à 01:04:52 |
Re : probleme dans la lecture d'un fichier

BruNews
|
GetLastError() pas évident de taper dans cet éditeur, faut savoir aussi interpréter les fautes de frappe... ciao... [ Lien ]BruNews, MVP VC++
|
|
dimanche 12 mars 2006 à 01:06:56 |
Re : probleme dans la lecture d'un fichier
|
dimanche 12 mars 2006 à 01:17:20 |
Re : probleme dans la lecture d'un fichier

jack_ryan
|
VirtualAlloc(0, size, MEM_COMMIT | MEM_RESERVE); je crois qu'il manque un argument mais je ne voit pas lequel fabian
|
|
dimanche 12 mars 2006 à 01:26:27 |
Re : probleme dans la lecture d'un fichier

BruNews
|
OUPS: PAGE_READWRITE en dernier, dur dur... ciao... [ Lien ]BruNews, MVP VC++
|
|
Cette discussion est classée dans : fichier, tampon, ofn, fo, lenbloc
Répondre à ce message
Sujets en rapport avec ce message
probleme dans l'ouverture de fichier et mise en tampon [ par shadow1779 ]
Bonsoir, je commence a maitriser l'API Windows et je me suis mis dans l'idée de me faire un petit bloc notes avec plusieurs petites fonctions mais je
besoin d'aide cpp & flash [ par ced73 ]
bonjour bonjour ^^ Cela va surement paraitre ridicule, mais il y deux ou trois trucs ou je sèche. Je cherche à charger un flash (.swf) dans une fe
CFileDialog [ par epoc ]
J'ai un programme qui donne à l'utilisateur la possibilité d'enregistrer un fichier, via une boite de dialogue dont voici le code :CFileDialog m_SaveF
WriteFile => caractères non reconnu dans le fichier [ par Flo1987 ]
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 rec
Problème avec GetOpenFileName [ par ArthurAuguste ]
Bonjour, J'ai un problème avec GetOpenFileName si et seulement si le fichier que j'ouvre fait plus de 93Ko !!!! Si j'ai fait une erreur de programma
prise en compte des espaces [ par cytosyn2 ]
Bonjour à tous. J'ai un petit programme qui scanne un fichier texte et crée un nouveau fichier identique au premier sauf certains caractères remplacé
Problème sauvegarde de fichier [ par sleeper41 ]
Bonjour à tous!Voila j'essaie de sauvegarder un fichier txt bloc note sans passer par fichier enregister sous ect ..., mais j'ai quelque soucies.En fa
[C++ / commdlg.h] Répertoire courant OPENFILENAME [ par GrosTony ]
Salut @ tous,Dans le cadre d'un projet en cours, je doit gérer des enregistrements et chargement de fichier et je n'arrive pas à changer le répertoire
probleme d'ouverture [ par catamenia ]
bonjours, mon but est d'ouvrir un fichier.voici mon code :void CRobot1Doc::OnFileOpen() { CString c = "C:\\RobotEriccUsers\\"; CFileDialog tes
Erreur sur fichier [ par LordBob ]
Bonjours a tous,voila je suis en train d'écrire un petit programme... Et j'ai a peine commencé que j'ai deja un probleme, seulement je ne sais pas d'o
Livres en rapport
|
Derniers Blogs
TECHDAYS PARIS 2012 : NOUVELLES TENDANCES DU POSTE DE TRAVAIL - BRING YOUR OWN PCTECHDAYS PARIS 2012 : NOUVELLES TENDANCES DU POSTE DE TRAVAIL - BRING YOUR OWN PC par ROMELARD Fabrice
Speakers: Thierry Rapatout, Antoine Petit et Xavier Trebbia Cette session entre dans le cadre des RDV Décideurs des TechDays 2012, elle est liée à la consumérisation de l'IT et la mise en place du "DeskTop as a Service" dans de plus en ...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice TECHDAYS PARIS 2012 : SYSTEM CENTER SERVICE MANAGER 2012 VUE D'ENSEMBLETECHDAYS PARIS 2012 : SYSTEM CENTER SERVICE MANAGER 2012 VUE D'ENSEMBLE par ROMELARD Fabrice
Speakers: Julien Marechal, Gautier Confiant, Sébastien MEYER La session débute par le positionnement de la solution System Center par rapport aux concepts d'organisation ITIL. Le portail du catalogue de se...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice TECHDAYS PARIS 2012 : PLEINIèRE SECOND JOURTECHDAYS PARIS 2012 : PLEINIèRE SECOND JOUR par ROMELARD Fabrice
Après une première journée dédiée aux développeurs, cette seconde journée est dédiée au monde des entreprises et de ses applications. Ainsi, cette pleinière est dédiée à faire un 360 de l'évolution des applications Business aux demandes ac...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice TECHDAYS PARIS 2012 : RETOUR D'EXPéRIENCE SUR LA MISE EN PLACE D'UN CLOUD PRIVéTECHDAYS PARIS 2012 : RETOUR D'EXPéRIENCE SUR LA MISE EN PLACE D'UN CLOUD PRIVé par ROMELARD Fabrice
Speaker : Guillaume Rochette Cette session est dédiée à fournir le retour sur la mise en place d'un cloud privé (IaaS) par Osiatis pour son compte ou celui de ses clients. Ce projet s'est déroulé sur 4 mois et a permis de faire évoluer...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice TECHDAYS PARIS 2012 : COMMENT SHAREPOINT A SAUVé MES TECHDAYSTECHDAYS PARIS 2012 : COMMENT SHAREPOINT A SAUVé MES TECHDAYS par ROMELARD Fabrice
Speakers : Lionel Limozin et Alain Marty La session commence par une découverte de SharePoint à travers la mise en place d'un environnement SharePoint pour la gestion des Sessions animées par BeWise. Le besoin est très ba...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Forum
AUMLAUML par sassion
Cliquez pour lire la suite par sassion
Logiciels
Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Easy-Planning (1.0.0.1)EASY-PLANNING (1.0.0.1)Basé sur les mêmes principes que MyPlanning, Easy-Planning permet de créer des plannings sous la ... Cliquez pour télécharger Easy-Planning COLLECTOR PLUS (3.00B)COLLECTOR PLUS (3.00B)COLLECTOR PLUS version 3.00B est un logiciel utilisant une base de données alimentée par :
- L... Cliquez pour télécharger COLLECTOR PLUS PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO LettresFaciles 2011 (8.0.0.1)LETTRESFACILES 2011 (8.0.0.1)LettresFaciles est un logiciel facilitant la création et la rédaction de lettres types.
Son inte... Cliquez pour télécharger LettresFaciles 2011
|