Le moyen le plus simple d’obtenir un PTY sous Linux C ++

Je programme quelque chose qui nécessite une interface avec Bash. Au début, je pensais pouvoir utiliser Popen ou QProcess. (J’utilise QT C ++) Ils fonctionnent bien, mais je ne peux pas les amener à exécuter Bash dans un tty, ce qui est nécessaire si vous voulez utiliser quelque chose comme sudo, qui nécessite un tty / pty pour accepter un mot de passe.

J’ai trouvé des choses comme forkpty (), openpty (), etc. dans les bibliothèques GNU Standard C, mais je ne savais pas comment les utiliser ni trouver de bons exemples, même après avoir lu leurs pages de manuel correspondantes. Littéralement, tout ce que mon programme doit faire est de pouvoir lire / écrire à partir d’un tty exécutant / bin / bash. Est-ce vraiment aussi simple ou y a-t-il autre chose que ce que l’on voit?

Dans l’affirmative, quelqu’un peut-il fournir un exemple concis sur la manière de procéder? Merci d’avance! EDIT: Voici le fichier d’en-tête que j’ai créé!

    Pensez à l’option /bin/sh -s , qui signifie “lire les commandes depuis l’entrée standard”. Cela supprime le besoin d’émuler un terminal.