[C]/[C++]Une bibliotheque gestion de fichier?

Bonjour!
Je cherche une bibliotheque/classes permettant de gérer les fichiers? Bon, j’ai vu sur un site regroupant pas mal de fonctions C permettant de faire ceci, mais il doit y avoir mieux.

Pour quoi faire exactement vous allez me dire (c’est tout simple) :

  • l’équivalent d’un ls
  • l’équivalent d’un cp (d’ailleurs, les programmes comme cp, ou mv, je me demande comment ils sont codés, faudra que je cherche).

Voila, rien de bien sorcier pour l’instant…

Tu as tout ce qu’il faut en standard ou dans des appels systèmes.
Si tu veut t’amuser certaines bibliothèques ont leur propre API (boost par exemple) mais c’est pas la peine de les utiliser.

Les trois commandes que tu cite sont intéressantes (mais n’essaie pas de prendre en compte tout leur argument c’est pas très intéressants).

De quoi parles-tu par appels systeme?
Bon, je vais relire les biblio standard moi, ça me fera pas de mal!
merci :slight_smile:

[quote=“thuban”]De quoi parles-tu par appels systeme?
Bon, je vais relire les biblio standard moi, ça me fera pas de mal!
merci :)[/quote]
En C tu as une certains nombre de fonctions accessibles :
[ul]
[li]le langage comme sizeof[/li]
[li]la bibliothèque standard : printf, atoi, etc[/li]
[li]les appels systèmes : read, write, open, …[/li]
[li]les autres bibliothèques : gtk, openmp,…[/li][/ul]

Les deux premières catégories font partie du C, elles sont définie dans la norme de celui-ci (C99 pour l’actuelle).
La troisième est en fait l’ensemble des fonctions fournis par le noyau pour par exemple interagir avec le réseau où les fichiers (printf qui fait parti de la bibliothèque standard utilise write qui est un appel système). C’est normalisé par POSIX mais linux propose une multitude d’appel en plus.
La dernière catégorie tu imagine bien ce que c’est je pense.

Tu peut trouver la documentation sur les appels système dans la section 2 de ton manuel.

Section 2 du manuel : ça me fait une nouvelle question : Comment obtenir la section 2 du manuel? Et quel manuel en particulier?

Je suis loin de maitriser on dirait…

Les appels systèmes, ça ne peut pas marcher pour tous les OS si je comprends bien?

Pour faire simple le manuel (man) est constitué de 9 sections. Lorsque tu tape “man machin”, la commande man va chercher machin dans la section 1 puis 2 puis 3 jusqu’à la trouver. Tu peut trouver les information sur les fonction C standard dans la section 3 et les appels systèmes en section 2.

Si tu veut faire un test. Il existe un programme qui s’appel printf (section 1) et une fonction standard du C qui porte le même nom (section 3). Si tu tape “man printf” tu tombe sur le programme. Pour avoir le man de la fonction printf il suffit de taper “man 3 printf”.

Si tu veut pouvoir naviguer dans les pages le plus simple est d’utiliser info.
Pour l’utiliser rien de plus simple :

Dernière commande qui peut aider “apropos”. apropos cherche le nom et la description des pages de manuel. Exemple :

C’est standardisé par POSIX et BSD (il en existe d’autres comme SVr). Quasiment tout ce dont on peut avoir besoin fait parti d’au moins l’une de ses normes. Tu peut voir ici les compatibilité POSIX (remarque que malgrès que cette norme soit faite pour les système Unix Windows la suit en partie) :
secure.wikimedia.org/wikipedia/ … -compliant

Tu peut voir la conformité de chaque appel système sur la page man (ou manuel) de celui-ci.

Eh bien je ne peux qu’une nouvelle fois te remercier pour ton infinie patience! :023