2010-12-05 2 views
0

Ich entwickle eine Anwendung, die von der Standardeingabe liest und einige Berechnungen auf den Daten ausführt. Ich habe zur Zeit auf Eclipse-Programm der Argumente die folgende Zeichenfolge ein:Einrichten von Eclipse, um mein Programm mit dem folgenden Argument aufzurufen "<fileName.txt"

< "input.txt" 

wo input.txt die Datei, die ich aus lesen möchten, aber es scheint nicht zu funktionieren, wie es mit dem folgenden Code nur „abc“ gedruckt werden:

char c; 
printf("abc\n"); 
while ((c = getchar()) != EOF) { 
    printf("%c", c); 
} 

Was mache ich falsch?

+0

möglich Duplikat von [Eclipse lesen stdin (System.in) aus einer Datei.] (Http://stackoverflow.com/questions/188547/eclips-reading-stdin-system-in-from-a-file) –

Antwort

2

Das < Symbol ist kein Programmargument, es ist ein Shell-Operator - es funktioniert nur in einer Shell, die es als Teil der Analyse einer Befehlszeile versteht.

Anscheinend verwendet Eclipse keine Shell, um ein Java-Programm zu starten, und es verarbeitet selbst keine Shell-Operatoren wie < zum Starten. Ich wette, wenn Sie die Befehlsargumente in Ihrem Programm ausgedruckt haben, sehen Sie < und input.txt. Eine Shell hätte sie verarbeitet und sie nicht an das Programm weitergegeben.

Leider sehe ich in meiner Version von Eclipse nichts, was darauf hindeutet, wie die Standardeingabe von einer Datei umgeleitet wird.

Verwandte Themen