CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

[C] recuperer entrée standard PIPE

akumabeelz
akumabeelz
Niveau 10
25 octobre 2014 à 22:08:55

Bonsoir, j'ai 2 binaires et je veux récuperer ce qu'affiche mon premier binaire,

par exemple /maze 10 10 | ./solvemaze

et comment récuperer en entier ce que m'affiche le premier binaire?

car jessaye de faire un read(0, buff, buff_size);

dans le solve maze mais lorsque j'affiche le buff sa m'affiche nimporte quoi j'ai pas mon maze en entier et j'ai quelque fuite de read

help svp

RedStarLinux
RedStarLinux
Niveau 6
26 octobre 2014 à 00:14:49

Si tu cherches la simplicité, tu peux utiliser les tubes nommés :oui:

akumabeelz
akumabeelz
Niveau 10
26 octobre 2014 à 00:42:30

Nan en faite je me casse trop la tete avec les pipes pourtant je récupére l'entree standard de la 2 ème commande après le pipe

Je met sà dans un fichier puis j'open le fichier

godrik
godrik
Niveau 30
26 octobre 2014 à 01:08:27

pipe et fichier s'utilise exactement de la meem manier.
Tu peux lire l'entree standard comme si ca venait de la console et lire jusqu'a OEF.

[denshaotoko]
[denshaotoko]
Niveau 25
26 octobre 2014 à 01:55:26

je pense qu'au lieu de passer par les fd de la sortie standard, tu peux utiliser les fd créé par l'appel à pipe

tu crées d'abord un pipe

tu fork, tu auras surement les fd 3 et 4
fd 3 pour la lecture, et fd 4 pour l'écriture

dans le processus père maze, tu fermes l'entrée 3
dans le processus fils solvemaze tu fermes la sortie 4

comme ça la sortie 4 du père maze sera relié à l'entrée 3 du solvemaze, comme ça pas de colision au niveau des entrées/sorties standard ( 0 et 1 )

ensuite donc suffira de récuperer le resultat du traitement du processus père maze, puis de jeter ça dans la sortie 4 du père, et tu récupereras ça directement dans l'entrée 3 du fils solvemaze

godrik
godrik
Niveau 30
26 octobre 2014 à 02:36:15

Quand tu utilise le shell pour fwire un pipe. La sortie standard de gauche map exactement a l'entree standard de droite. C'est pas plus complique que ca. La lecture devrait se faire exactement comme si ca venait de la consolr. J'imagine que op a msl ecrit ses ios et que c'est pour ca qye ca fait n'importe quoi.

[denshaotoko]
[denshaotoko]
Niveau 25
26 octobre 2014 à 02:53:29

Ah autant pour moi j'ai mal compris ce que demandait l'OP
Je croyais qu'il voulait faire un programme qui gère la gestion et l'execution d'une commande comme ` /maze 10 10 | ./solvemaze ` d'où ma réponse

LasPegasus
LasPegasus
Niveau 10
27 octobre 2014 à 08:42:17

j'ai eu le même problème avec un programme il n'y as pas si longtemps, le problème viens probablement du fait que tu lise tellement vite que le labyrinthe n'as pas le temps de se générer, essaye de ralentir l'execution du solvemaze avec un usleep.

godrik
godrik
Niveau 30
27 octobre 2014 à 16:18:49

Non! Pourquoi mettre un usleep. Les appels a read sont bloquant!

Sous forums
  • Aide à l'achat Mac
  • Création de sites web
  • Création de Jeux
  • Linux
  • Programmation
  • Internet
  • Steam Deck
  • Macintosh
  • Hardware
La vidéo du moment