Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1553 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  copie contenu d'un fichier dans un tampon

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

copie contenu d'un fichier dans un tampon

n°1006064
boa51
Posté le 08-03-2005 à 21:50:38  profilanswer
 

Bonsoir!
 
En utilisant MFC, je cherche à copier le contenu d'un fichier texte dans un tampon pour traitement ultérieur.
Voici le début du code:
 
   CFile Fichier;
   Fichier.Open("essai.txt", CFile::modeRead); //ouvre en lecture
   int Taille = Fichier.SeekToEnd(); // stocke la taille du fichier dans un entier pour déterminer la taille du tampon.

 
Ensuite, je suis coincé. Qq'un pourait-il me donner le code (tout ou parti) afin que je puisse continuer mon travail ?
 
Merci d'avance!
 
@micalement,
Séb.

mood
Publicité
Posté le 08-03-2005 à 21:50:38  profilanswer
 

n°1006068
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 08-03-2005 à 21:55:42  profilanswer
 

Code :
  1. char buffer[Taille];
  2. UINT nBytesRead = Fichier.Read(buffer, Taille);


t'avais vraiment pas loin à chercher dans la MSDN hein :sarcastic:
http://msdn.microsoft.com/library/ [...] a.read.asp


---------------
J'ai un string dans l'array (Paris Hilton)
n°1006083
boa51
Posté le 08-03-2005 à 22:08:37  profilanswer
 

c'est ce que j'ai fait, mais à la ligne
   char buffer[Taille];
 
le compilateur me met l'erreur C2057: expected constant expression
Donc je pensais que ça n'allais pas... Faut que je vois d'où vient cet erreur.

n°1006085
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 08-03-2005 à 22:10:00  profilanswer
 

pourquoi j'ai l'impression que tu déclares le buffer avant d'avoir initialisé Taille ? [:petrus75]
poste donc ton code pour voir


---------------
J'ai un string dans l'array (Paris Hilton)
n°1006093
boa51
Posté le 08-03-2005 à 22:14:26  profilanswer
 

CFile Fichier;  
Fichier.Open("essai.txt", CFile::modeRead); //ouvre en lecture  
int taille = Fichier.SeekToEnd(); // stocke la taille du fichier dans un entier pour déterminer la taille du tampon.  
char Tampon[taille]; //tampon où copier le contenu du fichier
UINT nBytesRead = Fichier.Read(Tampon, taille);

n°1006096
boa51
Posté le 08-03-2005 à 22:15:41  profilanswer
 

j'ai pourtt bien déclaré la taille avant le buffer ...

n°1006097
FlorentG
Unité de Masse
Posté le 08-03-2005 à 22:16:22  profilanswer
 

Sauf que taille doit être une constante ;)

n°1006102
boa51
Posté le 08-03-2005 à 22:18:47  profilanswer
 

ba comment je peux faire un tampon de la taille du fichier ?

n°1006104
FlorentG
Unité de Masse
Posté le 08-03-2005 à 22:20:05  profilanswer
 

Héhé, aller, cherche un peu ;)

n°1006110
boa51
Posté le 08-03-2005 à 22:24:09  profilanswer
 

méeuuu je rame ! :)  
Pi c'est la misère si je met un tampon de 100 par exemple. Ca veut dire qui faut que je le remplisse, je transfert ce qu'il y a dedans, je le vide et rebelotte ! :'(

mood
Publicité
Posté le 08-03-2005 à 22:24:09  profilanswer
 

n°1006115
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 08-03-2005 à 22:28:24  profilanswer
 

boa51 a écrit :

CFile Fichier;  
Fichier.Open("essai.txt", CFile::modeRead); //ouvre en lecture  
int taille = Fichier.SeekToEnd(); // stocke la taille du fichier dans un entier pour déterminer la taille du tampon.  
char Tampon[taille]; //tampon où copier le contenu du fichier
UINT nBytesRead = Fichier.Read(Tampon, taille);


 
ah merde, j'avais pas vu que taille n'était pas une constante [:joce]
ben faut donner une taille fixe à "taille", sinon tu te feras bouler :spamafote:
un truc suffisamment grand pour contenir ton fichier  

Code :
  1. char tampon[10000]; // par exemple


 
edit: ouh putain la fièvre que ça me réussit pas [:mlc]


Message édité par Harkonnen le 08-03-2005 à 22:29:08

---------------
J'ai un string dans l'array (Paris Hilton)
n°1006120
boa51
Posté le 08-03-2005 à 22:31:52  profilanswer
 

oué à la rigueur...
Pi si je trouve qqch de plus souple a mettre, jvéré par la suite quand ca fonctionnera !

n°1006128
IrmatDen
Posté le 08-03-2005 à 22:36:32  profilanswer
 

Pourquoi pas de suite utiliser une allocation dynamique ?

n°1006131
boa51
Posté le 08-03-2005 à 22:42:44  profilanswer
 

ba pk pas en effet... mais j'fais comment ?
J'ai pas beaucop d'expérience en +.

n°1006134
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 08-03-2005 à 22:47:10  profilanswer
 

boa51 a écrit :

ba pk pas en effet... mais j'fais comment ?
J'ai pas beaucop d'expérience en +.


Code :
  1. char *tampon = new char[taille];


ne pas oublier de faire un delete une fois que tu n'utilises plus le buffer

Code :
  1. delete[] tampon;


Message édité par Harkonnen le 08-03-2005 à 22:49:53

---------------
J'ai un string dans l'array (Paris Hilton)
n°1006654
boa51
Posté le 09-03-2005 à 12:34:37  profilanswer
 

Harkonnen merci beaucoup. Je vais essayer dès que j'aurais une minute !


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  copie contenu d'un fichier dans un tampon

 

Sujets relatifs
Supprimer Un élément dans un fichier xml avec QT[C#/PPT] Ouverture d'un fichier PPT et accès aux variables
upload fichier impossible, fichier non trouvéLecture d'un fichier et copie dans un buffer, ultra lent ! [Resolu]
[Résolu][HTML] Largeur de contenu d'une iframepb chemin d'accès à un fichier
[VB]Manip fichier Excel+chemin depuis VB[BATCH] Copie avec exception !?
[java][Resolu] Probleme lecture de fichier 
Plus de sujets relatifs à : copie contenu d'un fichier dans un tampon


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR