begin process at 2012 02 10 20:50:47
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Fichier / Disque

 > 

troquer un fichier avec stdio.h


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

troquer un fichier avec stdio.h

mercredi 30 mars 2005 à 00:57:15 | troquer un fichier avec stdio.h

gergalp

je voudrais savoir s'il existe une fonction dans stdio.h pour tronquer un fichier, c'est à dire retirer X octets en fin de fichier, et par extension, si il y a un moyen de retirer X octets n'importe où dans le fichier, sans tout réécrire.
mercredi 30 mars 2005 à 06:06:18 | Re : troquer un fichier avec stdio.h

NitRic

avec <stdio.h> j'en doute mais avec l'API Windows directement oui

CreateFile() pour ouvrire le fichier
SetFilePointer() pour déplacer le curseur dans le fichier la ou tu veux
SetEndOfFile() pour marquer la fin du fichier la ou ce trouve le curseur
CloseHandle() pour pour fermer le fichier(à la fin)

Pour retirer x octet(s) dans un fichier sans tout réécrire, tu peux utiliser le FileMapping

dans l'ordre:
   - CreateFile()
   - CreateFileMapping()
   - MapViewOfFile()
   - memmove() pourait faire l'affaire(pour déplacer tes octets)
   - UnmapViewOfFile()
   - CloseHandle(CreateFileMapping())
   - CloseHandle(CreateFile())
(voir MSDN pour _tous_ les détails)

Si tu as trop de difficulté, je pourrais te faire un exemple.



~(.:: NitRic ::.)~
mercredi 30 mars 2005 à 09:33:19 | Re : troquer un fichier avec stdio.h

angsthase

Pour moi, est ce que tu pourrais me faire un exemple stp  !!!
Merci d'avance.

AngstHase
mercredi 30 mars 2005 à 20:10:57 | Re : troquer un fichier avec stdio.h

gergalp

ben perso, le but était de faire un code portable, donc pas d'API windows
samedi 2 avril 2005 à 01:44:03 | Re : troquer un fichier avec stdio.h

NitRic

gargalp, le filemapping existe aussi sous Linux alors tu pourrais te faire un petit module
Win/Linux

#if WINDOWS
   /* fonctions/code pour windows */
#else /* on assume que c'est linux */
   /* fonctions/code pour linux */
#endif

la macro `WINDOWS` n'est pas valide, faut voir au niveau des compilos/systèmes/...
pour ce qui est du filemapping sous linux, je ne sais pas comment faire, je ne code que sous Windows, désolé ...



angsthase, c'est d'accord, j'vais faire un exemple(pour Windows) et je vais le poster d'ici une journée ou deux.





~(.:: NitRic ::.)~
dimanche 3 avril 2005 à 04:45:31 | Re : troquer un fichier avec stdio.h

NitRic

angsthase, voilà l'exemple:

http://www.cppfrance.com/code.aspx?ID=30502




~(.:: NitRic ::.)~
lundi 4 avril 2005 à 09:21:16 | Re : troquer un fichier avec stdio.h

angsthase


Merci !

AngstHase


Cette discussion est classée dans : fichier, octets, retirer, stdio, troquer


Répondre à ce message

Sujets en rapport avec ce message

Integration fonction C [ par metek ] Bonjour!!Voila j'ai une ptite question sur les API!!!J'ai fait un petit programme qui liste un fichier texte cherche un mot entré et recupere le reste Modifier des octets dans un fichier ? [ par supergrey ] Salut, je voudrais savoir comment modifier des octets au milieu d'un fichier, jusqu'ici je recopier tout le fichier en changeant les octet voulu mais retirer l'attribut en lecture seul [ par chikamaru2 ] Voila,je doit creer un programme en c++ qui retire à tous les fichier (dans la racine du disque dur) l'attribut de fichier en lecture seul.Je ne sais Lire les 6 dernier octets d'un fichier? [ par supergrey ] Bonjour, je souhaite lire les 6 derniers octets d'un fichier j'ai écris le code suivant mais ca n'a pas l'air de marché car byteread est à zéro: char EOF avec les API Windows [ par faucheuse ] Bien le bonjour ami(e)s programmeurs et programmeuzes,Je débute avec les API Windows et j'ai une classe à faire pour le manipulation de fichier (Creer Taille de buffer pour récupérer tous les octets d'un fichier [ par Tibabou ] Bonjour,    Je souhaite, tout simplement, récupérer tous les octets d'un fichier dans un tableau. Jusque là, rien d'extraordinaire.J'essaie donc de ré Octets squatteur [ par gdpasmini ] Bonjour a tous ! Un phénomène étrange se produit dans mon programme... Je suis censé prendre des données provenant d'un réseau que je place octet par Mettre des octets d'un fichier dans un string [ par ddraper ] Bonjour à tous ! Malgrès mes recherches, je suis toujours bloqué. En fait, je ne sais pas comment mettre les octets d'un fichier quelconque dans un


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,920 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales