Rechercher : dans
Par :

Dup() linux c/c++

Dernière réponse le 28 avr 2004 à 01:14:39 jerome, le 7 avr 2004 à 09:21:46 
 Signaler ce message aux modérateurs

Salut

Voila je suis entrain d'apprendre la programmation sous linux en c/c++ pour créer des tubes, et je bloque sur la commande dup() (je ne comprends pas a quoi ca sert).

Merci de vos réponse

Meilleures réponses pour « dup() linux c/c++ » dans :
Compiler du C sous Linux/UNIX Voir Sous Linux, le compilateur de C est gcc. Il est installé de base sur plusieurs distributions, mais sur Debian (et celles qui en découlent) il faudra l'installer (aptitude install gcc). gcc Syntaxe de GCC gcc Tout d'abord, il faut savoir...
[Langage C] C/C++ Erreur de segmentation VoirQu'est ce qu'une erreur de segmentation Vous êtes en train de développer une application sous Linux en C/C++. Tout va bien, ça compile, les oiseaux chantent. Donc vous lancez votre application pour la tester. Et vous obtenez l'un de ces deux...
[Knoppix] Utiliser Knoppix comme CD de secours VoirKnoppix est un LiveCD Linux, c'est à dire qu'il s'agit d'un CD sur lequel vous pouvez démarrer votre ordinateur, et contenant un système Linux complet prêt à l'emploi. Knoppix peut être utilisé comme CD de secours, par exemple pour récupérer vos...
Linux - L'arborescence des fichiers VoirLa hiérarchie des fichiers sous Linux Pour assurer la compatibilité et la portabilité, les systèmes Linux respectent l'unique norme FHS (File Hierarchy Standard). La hiérarchie de base est la suivante : /la racine, elle contient les...

1

Thomas Lopez, le 20 avr 2004 à 09:54:04

Bonjour, j'ai le même problème que Jérome.... s'il vous plait aider nous sur la fonction dup().
Cordialement
Lopez thomas

Répondre à Thomas Lopez

2

fat_cartman, le 20 avr 2004 à 11:07:08

C'est assez simple en réalité. C'est utile pour rediriger la sortie std dans un FIFO.
En gros, il faut créer un tube, on a donc un descripteur de fichier.
Ensuite, dans la table des descripteurs du système, on ferme celui correspondant au flux qu'on veut rediriger.
Finalement, on utilise dup() pour dupliquer le descripteur de notre tube dans la table des descripteurs, et notre descripteur va automatiquement se placer à la premiere place libre.

Je ne peux pas vous donner le code, le C ca fait longtemps que j'en ai pas fait. Mais c'est une bonne piste!!
Bon courage!

Fat_Cartman,
Parce que je le vaux bien... 

Répondre à fat_cartman

3

 M2, le 28 avr 2004 à 01:14:39

Ce code permet de rediriger la sortie standard vers un fichier
(on fait de meme pour l'entree std en changeant qq trucs...)

void
substituer_sortie(char *fichier)
{
int fd;
fd = open(fichier, O_WRONLY | O_CREAT, 0600);
dup2(fd, 1);
close(fd);
}

Répondre à M2