Code-Blöcke, die Umleitung der Eingabe-Ausgabe
Ich bin neu in der code blockiert, und ich kann nicht scheinen, um es an die Arbeit mit Kommandozeilen-Argumente der < input > - Ausgabe. Weiß jemand, wie?
Ich bin derzeit in der Lage zu Lesen, eine Datei übergeben, die aus argv[1], aber das Programm nicht automatisch die Eingabe aus der angegebenen Datei noch hat es rechts die Ausgabe in die Datei output.
Ich bin mir bewusst, es ist auf der Programm - Argumente, die meine Argumente Zeile ist: list.txt < input > - Ausgabe
Nach einigen Recherchen sah ich einen Mann, es zu tun mögen dieses: < ./input > ./Ausgabe, scheint wie ein Programm ausgeführt wurde, geben die input-und output -, anyways, ich hab auch schon versucht, ohne Erfolg. Brauche ich die Datei-Handler, um mit Ihr zu interagieren? Es macht keinen Sinn, einfach getchar() Lesen aus der Weitergabe der input-Datei.
Was vermisse ich hier?
Vielen Dank im Voraus
printf()
und scanf()
, puts()
und getline()
usw. sollte in Ordnung sein.Es funktioniert immer noch nicht 🙁 ich habe mich verändert die getchar() bekommt als ich wollte, dass die ganze Zeile, jetzt bekomme ich von char zu char innerhalb string, aber wenn ich es laufen lasse, es wartet noch auf die manuelle Eingabe. Ich glaube wirklich, es ist ein codeblocks problem.
Nein, es ist nicht ein codeblocks problem mit allen Mitteln, etwas fehlt... mir Vorzustellen, was könnte eine IDE? Es ist nicht einmal ein compiler...
Ich ging also auf linux, wird der input-Befehl funktioniert ja, muss es ein IDE-Problem. Und auch, es liest getchar() ganz gut, es gibt keine Notwendigkeit, scanf oder zu Lesen bekommt von <input. Gut, denke, ich werde gehen müssen, um manuell Befehle eingeben dann Zeit, die es auf linux. Trotzdem danke
Können Sie ein Beispiel-Programm, das zeigt das problem, dass Sie zeigen, und die Schritte, die benötigt werden, um es zu reproduzieren?
InformationsquelleAutor d0pe | 2012-11-08
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich habe einen Weg gefunden, wie es in CB 13.12
Es im Grunde genommen startet die windows-Konsole und übergibt Parameter.
Sie können auch die Zuordnung von Tastenkombinationen zu diesen tools.
Der einzige Nachteil, den ich sehen kann, ist, dass die tools sind nicht projektspezifisch.
InformationsquelleAutor Aleš Koblížek
Ich arbeite mit Code::Blocks für einige Zeit jetzt und gerade vor kurzem das gleiche zumindest mit Code::Blocks 12.11 in Windows. Die Umleitungen > und < funktionieren nicht in der Projekt -> Programme Argumente...
Ein hackish-Lösung besteht darin, die Ausführung in den post-build-Schritt.
Rechten Maustaste
project name -> Build options... -> Pre/post build steps -> Post-build steps:
Und aktivieren Sie das Kontrollkästchen Immer ausführen, auch wenn das Ziel ist up-to-date.
Nun schlagen Sie Strg+F9 und das Programm wird ausgeführt, als letzter Schritt des Bauprozesses.
InformationsquelleAutor user2678713
Ich denke, es ist das problem der
cb_console_runner.exe
was startet Ihr Programm in IDE.ConsoleRunner
nicht interpretieren können-Umleitung-symbol. So, ich fügen Sie einige code auf den ursprünglichen code des codeblocks 13.12.Bitte kopieren Sie die verknüpfte Datei zu [cb-Ordner]. (Vergessen Sie nicht, sichern Sie das original.)
binäre :
http://limity.tistory.com/attachment/[email protected]
source-code :
http://limity.tistory.com/attachment/[email protected]
InformationsquelleAutor Jehan Yoon
Konnte ich den Eingang umgeleitet, um mein c-Programm-Einstellung-Programm-Argumente in der Projekt-Menü.
Navigieren Sie zu
Top Menu>Project>Set programs' arguments
und setzen</absolute/path/to/yourinputfile
bemerken<
in start es tricks codeblocks in Datei umleiten, anstatt passing argument.Executing: "C:\Program Files (x86)\CodeBlocks/cb_console_runner.exe" "C:\Work\cpp\cout\cout.exe" <input.txt
und cb_console_runner.exe nicht pass umgeleiteten Eingabe der Kind-Prozess.diese Methode funktioniert nur auf linux
InformationsquelleAutor codefreak
Ich weiß, das ist ein altes Thema, aber keine der Lösungen gut genug sind. Für Windows würde ich wohl gehen, mit den folgenden makro-definition (wie Sie es brauchen kann auch für debug-Druck oder ähnliches) im globalen Gültigkeitsbereich
Dann als der ersten oder zweiten Zeile (wenn Sie brauchen, std::ios::sync_with_stdio(false); ) in der main verwenden Sie es als
Definieren und in Code::Blocks unter Projekte > Build-Optionen... > (Debug -, Compiler-Einstellungen, #definiert)
Erwartet "input.txt" ist der text input-Datei in den Ordner, in dem rest der .c oder .cpp-Dateien sind, und "output.txt" wird die Ausgabedatei im gleichen Ordner erstellten (oder Sie können Hinzugefügt, um das Projekt als solches-Dateien leichter Bearbeiten/anzeigen).
Diese Lösung funktioniert mit cin/cout und scanf/printf.
InformationsquelleAutor Start Wolf
Ich habe versucht, fast alle Optionen & konnte nicht damit es funktioniert 😛
Nach immer satt mit allem, was ich im Grunde verwenden Sie den Datei-Verarbeitung, um meine Arbeit getan ( Puh )
hier ist, was ich in den code
Im globalen Gültigkeitsbereich schrieb ich :
& main ich schrieb das folgende, bevor Sie etwas anderes tun:
Schließlich kurz vor Schließung der Haupt-Prozess hat diese :
Nachdem diese zwei Dateien
&
dem Projekt
Diese funktionierte wie erwartet
InformationsquelleAutor Fooo