Pages : 1
#1 Le 31/12/2007, à 15:05
- koflesinge
Commande unix en C ??
Dans un but d'entrainement, et pour pouvoir mieux l'adapter à mes besoins, je souhaite convertir ce programme :
http://doc.ubuntu-fr.org/dossier_magique
en langage C.
J'ai déjà quelques notions, mais j'ai un problème de base et je n'ai pas trouvé la solution :
Comment inclure des commandes unix dans un programme en C ???
Avec un fichier .h , avec une syntaxe particulière ...... ?
Hors ligne
#2 Le 31/12/2007, à 15:25
- olivier.d75
Re : Commande unix en C ??
il faut utiliser la fonction system( "nom_de_commande")
Hors ligne
#3 Le 31/12/2007, à 15:33
- koflesinge
Re : Commande unix en C ??
Merci pour ta réponse rapide.
Ca à l'air d'etre la réponse à ce q ue je cherchais.:D
Hors ligne
#4 Le 31/12/2007, à 15:37
- Sysko le prospecteur
Re : Commande unix en C ??
il y a aussi la fonction FILE* popen ( char* ma_commannde , char* mode_ouverture )
qui permet en plus de stocker le texte que retourne une commande , ainsi selon les commandes ,cela permet de tester si la commande à correctemment fonctionner , d'afficher dans une fenetre gtk le resultat etc...
Projet tatoeba : projet collaboratif visant à créer un corpus de phrases d'exemples traduites dans le plus de langues possibles
Hors ligne
#5 Le 31/12/2007, à 15:58
- koflesinge
Re : Commande unix en C ??
Ben la , l'idée c'est de réussir à faire une boucle qui permet de passer chaque ficchier en revue un à un.
La commande system m'aurait permis de replacer les
mv $source $destination
dans des commandes en c. Voici , grosso modo, la base de mon programme :
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
char extension[4];
int choix (extension)
{
}
void filetype (fichier)
{
}
int main ()
{
return 0;
}
L'idée est de passer l'extension du fichier en paramètre de la fonction choix, qui redirige ensuite vers les fonctions de types.
On peut ensuite imaginer (c'est le but initial de mon programme) des fonctions de type assez développée , en analysant le nom du fichier pour le situer dans un répertoire.
ex: Si le fichier est un fichier video et le nom contient heroes alors déplacer dans le dossier heroes
Hors ligne
#6 Le 31/12/2007, à 18:06
- obiwankennedy
Re : Commande unix en C ??
Tu peux utiliser la fonction exec() (et sa famille) dans le processus fils après un fork. C'est un bonne chose niveau apprentissage.
Dans mes logiciels, j'écris ton nom.
SGNGD: SvgGd is Not GD
Rolisteam
Hors ligne
#7 Le 31/12/2007, à 19:18
- herrib"ubuntu"
Re : Commande unix en C ??
Consulte aussi le man 3 . Certaines fonctions sont directement implémentées (http://www.linux-france.org/article/man-fr/man3/Index-3.html )
Pages : 1