C-Sprache. Lesen von stdout
Habe ich einige Probleme mit einer library-Funktion.
Ich habe das schreiben eines C-code, der verwendet eine library-Funktion, die Fotos auf dem Bildschirm seine internen Schritte.
Ich bin nicht daran interessiert, seinen Wert zurückgeben, sondern nur gedruckt Schritte.
Also, ich glaube, ich habe zu Lesen von standard-Ausgabe und zu kopieren, Lesen Sie strings in einem Puffer.
Ich habe bereits versucht, fscanf und dup2 aber ich kann nicht Lesen von der standard-Ausgabe. Bitte, könnte mir jemand helfen?
Zeigen Sie den code, den Sie versucht, bitte! Wenn Sie eine Leitung und verwendet
dup2
richtig, sollten Sie in der Lage gewesen, das zu tun, was Sie versuchen.
InformationsquelleAutor user2479368 | 2013-06-12
Du musst angemeldet sein, um einen Kommentar abzugeben.
Eine erweiterte version des vorherigen Antwort, ohne Verwendung von Dateien und der Erfassung von stdout in eine pipe, statt:
Erzeugt die folgende Ausgabe:
InformationsquelleAutor Linas
Sollten Sie in der Lage sein, eine pipe zu öffnen, die dup end schreiben in stdout und Las dann aus dem lese-Ende der pipe, so etwas wie der folgenden, mit der Fehlerüberprüfung:
InformationsquelleAutor Paul Rubel
InformationsquelleAutor BLUEPIXY
Ich nehme an, Sie meinte die standard-Eingabe. Eine weitere mögliche Funktion ist
gets
verwendenman gets
zu verstehen, wie es funktioniert (ganz einfach). Bitte zeigen Sie Ihren code und erklären, wo Sie konnte nicht für eine bessere Antwort.stdout
. Er hat eine Bibliothek-Funktion, die schreibtstdout
, und er will abfangen, dass Ausgabe.vielen Dank an Euch alle. Ich benutzte die Lösung gepostet. Es funktioniert! 😉
ok, aber es gibt noch eine Sache, die ich don ' T undestand. Warum, wenn ich Lesen wollen, hier die Datei geschrieben, kann ich das nicht? Ich kann nicht nach dem code 'Ursache, die 8 Stunden haben übergeben :S
InformationsquelleAutor