tronquer un fichier à une certaine taille [C++] - C++ - Programmation
Marsh Posté le 24-02-2003 à 09:07:15
Que veux tu faire exactement ? Optimiser un source ? Compacter un exécutable ? Qu'entends tu par "raccourcir" ?
Marsh Posté le 24-02-2003 à 09:13:35
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
Marsh Posté le 24-02-2003 à 09:17:15
ben oui, c'est clair... je vois mal comment on pouurait faire ce genre d'opération sans passer par un fichier intermédiaire
Marsh Posté le 24-02-2003 à 09:40:38
API Win32:
SetEndOfFile(FHandle)
tronque le fichier à l'endroit où on est dans le fichier (FileSeek pour aller à l'endroit où il faut couper)
Marsh Posté le 24-02-2003 à 09:44:39
antp a écrit : API Win32: |
Win32 est vraiment un vaste chantier, dont je suis certain qu'au moins 60% des fonctions sont inconnues ou quasi inconnues !
Marsh Posté le 24-02-2003 à 09:46:02
ReplyMarsh Posté le 24-02-2003 à 09:46:08
Harkonnen a écrit : |
j'ai regardé le code appelé par la propriété "Size" du THandleStream de Delphi
Marsh Posté le 24-02-2003 à 09:46:52
lorill a écrit : vous avez zappé ce passage, au fait |
heu je suppose qu'il parle du contenu avant l'endroit où on coupe ?
Marsh Posté le 24-02-2003 à 09:53:29
antp a écrit : |
je pense aussi, sinon je vois meme pas ce qu'il veut faire
Marsh Posté le 24-02-2003 à 09:57:45
chrisbk a écrit : |
ben justement, c'est pour ca que ca me semble etrange
Marsh Posté le 24-02-2003 à 10:16:48
lorill a écrit : |
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 !
Marsh Posté le 24-02-2003 à 11:32:36
Comment raccourcir sans tronquer ?? Sujet de philo ?
A part le zipper ??
Marsh Posté le 24-02-2003 à 11:50:58
ha ouais raccourcir dans le sens réduire/compresser, moi j'avais vu ça dans le sens tronquer
en NTFS y a moyen de compresser des fichiers individuellement et sans passer par un fichier intermédiaire
Marsh Posté le 24-02-2003 à 11:54:33
Non, mais vu le titre de son topic, il veut tronquer, trancher à la hache le fichier quoi !
Marsh Posté le 24-02-2003 à 11:55:34
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 !!
Marsh Posté le 24-02-2003 à 11:58:13
Harkonnen a écrit : |
je pense qu'il voulait dire ne pas perdre les donnes jusqu'au point de troncature (troncationnage ? )
pis merde il pourrait etre plus precis, la on est tous a extrapoler sur ce qu'il voulait vaguement exprimer
Marsh Posté le 24-02-2003 à 12:18:19
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é ?).
Marsh Posté le 24-02-2003 à 21:34:27
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.
Marsh Posté le 28-03-2006 à 16:06:03
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++ ?
Marsh Posté le 28-03-2006 à 16:53:23
Citation : |
Comme "certains" disent: rtfm!
http://msdn.microsoft.com/library/ [...] frame=true
Marsh Posté le 28-03-2006 à 23:08:14
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
Marsh Posté le 28-03-2006 à 23:08:47
Grom14 a écrit : Je suis tombé sur ce topic en recherchant la même chose, mais pour linux. |
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?
Marsh Posté le 28-03-2006 à 23:19:14
non, ca c'est autre chose
en fait en standard c'est infaisable
faut voir avec boost::filesystem si c'est possible
Marsh Posté le 24-02-2003 à 08:39:59
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 ...