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

  FORUM HardWare.fr
  Programmation
  C++

  [C++] tronquer un fichier à une certaine taille

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[C++] tronquer un fichier à une certaine taille

n°316137
gux
Posté le 24-02-2003 à 08:39:59  profilanswer
 

Hello,
 
je voudrais pouvoir raccourcir la taille d'un fichier en C++ sous windows sans avoir de fichier temporaire ou intermédiaire, et sans perdre son contenu bien entendu.
j'ai trouvé quelques trucs sous unix/linux mais pas sous win ! :(
 
Si quelqu'un a une piste ...

mood
Publicité
Posté le 24-02-2003 à 08:39:59  profilanswer
 

n°316153
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 24-02-2003 à 09:07:15  profilanswer
 

Que veux tu faire exactement ? Optimiser un source ? Compacter un exécutable ? Qu'entends tu par "raccourcir" ?


---------------
J'ai un string dans l'array (Paris Hilton)
n°316154
chrisbk
-
Posté le 24-02-2003 à 09:13:35  profilanswer
 

be il a un fichier qui fait 15ko, il veut virer les 5ko de la fin (et donc n'avoir plus que 10ko de fichier)
 
mais sans fichier intermediaire je sais pas comment on fait

n°316156
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 24-02-2003 à 09:17:15  profilanswer
 

ben oui, c'est clair... je vois mal comment on pouurait faire ce genre d'opération sans passer par un fichier intermédiaire


---------------
J'ai un string dans l'array (Paris Hilton)
n°316168
antp
Super Administrateur
Champion des excuses bidons
Posté le 24-02-2003 à 09:40:38  profilanswer
 

API Win32:
 
SetEndOfFile(FHandle)
 
tronque le fichier à l'endroit où on est dans le fichier (FileSeek pour aller à l'endroit où il faut couper)


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°316176
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 24-02-2003 à 09:44:39  profilanswer
 

antp a écrit :

API Win32:
 
SetEndOfFile(FHandle)
 
tronque le fichier à l'endroit où on est dans le fichier (FileSeek pour aller à l'endroit où il faut couper)


:jap:
 
Win32 est vraiment un vaste chantier, dont je suis certain qu'au moins 60% des fonctions sont inconnues ou quasi inconnues !


---------------
J'ai un string dans l'array (Paris Hilton)
n°316179
lorill
Posté le 24-02-2003 à 09:46:02  profilanswer
 

vous avez zappé ce passage, au fait
 

GuX a écrit :

et sans perdre son contenu bien entendu.

n°316180
antp
Super Administrateur
Champion des excuses bidons
Posté le 24-02-2003 à 09:46:08  profilanswer
 

Harkonnen a écrit :


Win32 est vraiment un vaste chantier, dont je suis certain qu'au moins 60% des fonctions sont inconnues ou quasi inconnues !


 
j'ai regardé le code appelé par la propriété "Size" du THandleStream de Delphi :whistle:


Message édité par antp le 24-02-2003 à 09:47:06

---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°316181
antp
Super Administrateur
Champion des excuses bidons
Posté le 24-02-2003 à 09:46:52  profilanswer
 

lorill a écrit :

vous avez zappé ce passage, au fait
 
 


 
heu je suppose qu'il parle du contenu avant l'endroit où on coupe ?


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°316191
chrisbk
-
Posté le 24-02-2003 à 09:53:29  profilanswer
 

antp a écrit :


 
heu je suppose qu'il parle du contenu avant l'endroit où on coupe ?


 
je pense aussi, sinon je vois meme pas ce qu'il veut faire :D

mood
Publicité
Posté le 24-02-2003 à 09:53:29  profilanswer
 

n°316195
lorill
Posté le 24-02-2003 à 09:57:45  profilanswer
 

chrisbk a écrit :


je pense aussi, sinon je vois meme pas ce qu'il veut faire :D


ben justement, c'est pour ca que ca me semble etrange :heink:

n°316207
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 24-02-2003 à 10:16:48  profilanswer
 

lorill a écrit :


ben justement, c'est pour ca que ca me semble etrange :heink:


non, moi je ne l'ai pas zappé ! et c'est pour ça que je lui demandais s'il voulait compacter ou optimiser !
effectivement, en admiration devant le savoir et la maitrise de Win32 d'antp, je n'ai pas remarqué que sa solution tronquait le fichier ! :sweat:


Message édité par Harkonnen le 24-02-2003 à 10:17:15

---------------
J'ai un string dans l'array (Paris Hilton)
n°316305
Carbon_14
Posté le 24-02-2003 à 11:32:36  profilanswer
 

Comment raccourcir sans tronquer ?? Sujet de philo ?
 
A part le zipper ?? :heink:

n°316344
antp
Super Administrateur
Champion des excuses bidons
Posté le 24-02-2003 à 11:50:58  profilanswer
 

ha ouais raccourcir dans le sens réduire/compresser, moi j'avais vu ça dans le sens tronquer :o
 
en NTFS y a moyen de compresser des fichiers individuellement et sans passer par un fichier intermédiaire


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°316349
El_gringo
Posté le 24-02-2003 à 11:54:33  profilanswer
 

Non, mais vu le titre de son topic, il veut tronquer, trancher à la hache le fichier quoi !

n°316352
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 24-02-2003 à 11:55:34  profilanswer
 

El_gringo a écrit :

Non, mais vu le titre de son topic, il veut tronquer, trancher à la hache le fichier quoi !


ben dans ce cas, il perdra des données, sclair !!


---------------
J'ai un string dans l'array (Paris Hilton)
n°316355
chrisbk
-
Posté le 24-02-2003 à 11:58:13  profilanswer
 

Harkonnen a écrit :


ben dans ce cas, il perdra des données, sclair !!


 
je pense qu'il voulait dire ne pas perdre les donnes jusqu'au point de troncature (troncationnage ? :D)
 
pis merde il pourrait etre plus precis, la on est tous a extrapoler sur ce qu'il voulait vaguement exprimer :D


Message édité par chrisbk le 24-02-2003 à 11:58:45
n°316375
Carbon_14
Posté le 24-02-2003 à 12:18:19  profilanswer
 

Sans être Mme Soleil, je crois qu'il veut trancher la fin de son fichier en gardant le début intact. (Veut-il  récupérer la queue du fichier coupé ?).

n°316894
gux
Posté le 24-02-2003 à 21:34:27  profilanswer
 

arf désolé si j'ai pas été précis, il était temps pour moi d'aller au lit ...
 
j'ai un fichier dans lequel j'enregistre des structs de 320 octets, une sorte de base de donnée en fait.
Si la dernière structure ne me sert plus, je veux pouvoir l'enlever tout simplement (donc réduire la taille du fichier de 320 octets). Le reste du fichier ne change pas.
 

n°316908
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 24-02-2003 à 21:56:04  profilanswer
 

Donc cf solution d'antp : SetEndOfFile()

n°316914
gux
Posté le 24-02-2003 à 22:01:33  profilanswer
 

Ok je regarde ça.
merci les gars :)

n°1333778
Grom14
Posté le 28-03-2006 à 16:06:03  profilanswer
 

Je suis tombé sur ce topic en recherchant la même chose, mais pour linux.
Il y a bien truncate sur un descripteur, mais c'est du C ..
Y a-t-il quelque chose en C++ ?

Message cité 1 fois
Message édité par Grom14 le 28-03-2006 à 16:08:05
n°1333823
breizhbugs
Posté le 28-03-2006 à 16:53:23  profilanswer
 

Citation :


Win32 est vraiment un vaste chantier, dont je suis certain qu'au moins 60% des fonctions sont inconnues ou quasi inconnues !


:hello:
Comme "certains" disent: rtfm!  
http://msdn.microsoft.com/library/ [...] frame=true


Message édité par breizhbugs le 28-03-2006 à 16:54:12
n°1334227
slash33
Posté le 28-03-2006 à 23:08:14  profilanswer
 

Encore plus fou : en MFC -> CFile::SetLength(ULONGLONG) pouvait difficilement inventer plus simple (pour les sceptiques je connaissais)
http://msdn2.microsoft.com/en-us/l [...] S.80).aspx


Message édité par slash33 le 28-03-2006 à 23:09:21
n°1334229
breizhbugs
Posté le 28-03-2006 à 23:08:47  profilanswer
 

Grom14 a écrit :

Je suis tombé sur ce topic en recherchant la même chose, mais pour linux.
Il y a bien truncate sur un descripteur, mais c'est du C ..
Y a-t-il quelque chose en C++ ?


J'ai trouvé ca: http://www.cplusplus.com/ref/iostr [...] state.html
Mais comme je ne suis absolument pas un pro du c++ je sais pas si ca peut marcher?

n°1334244
skelter
Posté le 28-03-2006 à 23:19:14  profilanswer
 

non, ca c'est autre chose :)
en fait en standard c'est infaisable
 
faut voir avec boost::filesystem si c'est possible

mood
Publicité
Posté le   profilanswer
 


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

  [C++] tronquer un fichier à une certaine taille

 

Sujets relatifs
[PHP] Tronquer un fichier SQLComment tronquer une variable contenant un nombre ??
[VB] Ouvrir un fichier video ??Ouverture d'un fichier sans lancer la macro ?
[vba] ouvrir une boite de dialogue pour ouvrir un fichierComment faire un fichier .reg
HTML : lien vers fichier sur serveur partagé[delphi]Taille de fenêtre
reconstituer un fichier à partir de son contenu ascii ? 
Plus de sujets relatifs à : [C++] tronquer un fichier à une certaine taille


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