OVH Cloud OVH Cloud

prog C pour copie fichier

4 réponses
Avatar
Serge
Bonjour,

J'ai fais un petit programme C compilé avec gcc dans un
terminal qui permet de copier un fichier un peu de la même manière que
la commande "cp" du terminal.

Le problème est que quand je l'utilise j'ai le même problème
qu'avec "cp" : les fichiers mac ne sont pas recopiés dans leur
intégralité (peut-être manque-t-il les ressources ...) alors qu'un
fichier initialement "windowsien" se copie parfaitement.

Quelqu'un aurait-il une idée ?
S'il s'agit en effet des ressources, comment puis-je les
recopier ?

Merci beaucoup

P.S. : au cas où, j'utilise la bibliothèque <stdio.h>

4 réponses

Avatar
Schmurtz
Le problème est que quand je l'utilise j'ai le même problème
qu'avec "cp" : les fichiers mac ne sont pas recopiés dans leur
intégralité (peut-être manque-t-il les ressources ...) alors qu'un
fichier initialement "windowsien" se copie parfaitement.


Normale, un fichier mac est composé de plusieurs parties : la partie
données et la partie ressources. Lorsque tu utilises la commande cp ou
open(), tu ne copies/ouvres que la partie données du fichier. Pour
copier la partie ressource, il faut utiliser CpMac des outils de
développements ou alors les chemins de fichier virtuels
fichier/..namedfork/rsrc.

cp monfichier/..namedfork/rsrc monautrefichier/..namedfork/rsrc

open("monfichier/..namedfork/rsrc",Š) // non testé

ou alors les fonctions de macos.

--
Schmurtz

Avatar
Serge

Le problème est que quand je l'utilise j'ai le même problème
qu'avec "cp" : les fichiers mac ne sont pas recopiés dans leur
intégralité (peut-être manque-t-il les ressources ...) alors qu'un
fichier initialement "windowsien" se copie parfaitement.


Normale, un fichier mac est composé de plusieurs parties : la partie
données et la partie ressources. Lorsque tu utilises la commande cp ou
open(), tu ne copies/ouvres que la partie données du fichier. Pour
copier la partie ressource, il faut utiliser CpMac des outils de
développements ou alors les chemins de fichier virtuels
fichier/..namedfork/rsrc.

cp monfichier/..namedfork/rsrc monautrefichier/..namedfork/rsrc

open("monfichier/..namedfork/rsrc",Š) // non testé

ou alors les fonctions de macos.


Bonjour,

Merci beaucoup pour l'info; même si ca ne marche pas encore
totallement (entre autre pour les applications qui deviennet des
documents inutilisables, ou encore la perte de l'icone) je retouve
déjà au moins les mêmes tailles de fichier !!!

Peut-être me manque-t-il d'autres choses à recopier ... où
puis-je trouver de quoi me "culturer" sur la chose ?
As-tu acheté un bouquin sur le sujet ou y-a-t'il une page web
quelque-part qui parle clairement du sujet ?

Merci encore
- Serge -

P.S. : quand j'essaye de trouver des infos sur le site d'apple, je m'y
perds et je ne trouve RIEN ...


Avatar
Schmurtz
Merci beaucoup pour l'info; même si ca ne marche pas encore
totallement (entre autre pour les applications qui deviennet des
documents inutilisables, ou encore la perte de l'icone) je retouve
déjà au moins les mêmes tailles de fichier !!!

Peut-être me manque-t-il d'autres choses à recopier ... où
puis-je trouver de quoi me "culturer" sur la chose ?


Tu as copié uniquement le contenu du fichier, il reste encore les
informations sur le fichier à copier (type, créateur en particulier).

Encore une fois, la commande CpMac effectue une copie propre des
fichiers et il doit exister des fonctions pour le faire en Carbon.

Pour les informations sur le fichier, elles sont accessibles et
modifiables avec les commandes SetFile et GetFileInfo des outils de
développement.

As-tu acheté un bouquin sur le sujet ou y-a-t'il une page web
quelque-part qui parle clairement du sujet ?


Je n'en ai pas de concis. Cependant regarde dans la documentation
développeur d'Apple, tu y trouveras tout ce que tu veux.

http://developer.apple.com/documentation/Carbon/FileManagement-date.html

--
Schmurtz

Avatar
Nicolas.MICHEL
Serge wrote:

Quelqu'un aurait-il une idée ?
S'il s'agit en effet des ressources, comment puis-je les
recopier ?


Il y a de nombreux outils qui copient les fichiers mac :

ditto, psync, CpMac, pcpmac, ... Ceux-là sont open je crois.

Tu pourrais aller jetter un oeil sur les sources pour voir comment ils
ont résolu le problème, ça serait plus simple que de réinventer le
monde, non ?
Enfin je dis ça, mais je dis rien.
--
Je m'appelles Billy et je suis Funky