• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

$ out > test.txt ?

Status
Für weitere Antworten geschlossen.

TheSubhead

Neues Mitglied
Hallole zusammen,

bin neu hier im Forum und auch ein Anfänger in Programmierung.
Bin geradedabei mir C und C++ bei zu bringen.
Ich arbeite mich zur Zeit durch das Buch >>C von A bis Z<<.
Bis jetzt bin ich auch ganz gut zurecht gekommen - aber nun muss ich da ein Programm starten, in dem ich folgendes >>$ out > test.txt<< in eine Konsole eingeben muss. Ich verstehe zwar was das Ergebnis davon sein soll - aber irgendwie verstehe ich nicht ganz, wie das funktionieren soll.
Ich nutze DEV-C++ als IDE. Könnte mir jemand von Euch vielleicht in kurzen Sätzen erklären, wie ich das machen soll?

Hier nochmal die Aufgabe:

Übersetzen Sie dieses Programm wie gewohnt und starten es, indem Sie in einer Konsole Folgendes eingeben (als Programmname sei hier »out« gegeben):
$ out > test.txt Jetzt befindet sich im aktuellen Verzeichnis eine Datei namens »test.txt« mit dem Inhalt, den printf() normalerweise auf dem Bildschirm ausgegeben hätte.



Über einen kleinen Tipp würde ich mich wirklich sehr freuen.



Mit freundlichen Grüssen
TheSubhead
 
Werbung:
Gratz ....

Du hast es geschafft, die Standard-Bildschirm-Ausgabe ( printf z.B.) in eine Datei umzuleiten. Laut Beschreibung deiner Aufgabe solltest Du genau dies tun ;-) Ich liebe diese Beschreibungen....

Gruß,
Jumper, the II.
 
Wenn du dein Programm Compiliert hast benennst du es in out um.

Dann gibst du das hier in die Konsole ein:
Code:
out > test.txt
(Wechsel vorher ins verzeichnis indem sich out befindet)

Wenn du das nun ausführst wird alle was vorher auf den bildschirm geschrieben wurde in die Datei test.txt geschrieben.
 
Werbung:
Gratz ....

Du hast es geschafft, die Standard-Bildschirm-Ausgabe ( printf z.B.) in eine Datei umzuleiten. Laut Beschreibung deiner Aufgabe solltest Du genau dies tun ;-) Ich liebe diese Beschreibungen....

Gruß,
Jumper, the II.

Hallo,

wo hat er was geschaft ???

Ich sehe kein Stück Source ... sondern eher die Frage wie sich die von Dir analysierte Frage, beantworten bzw. bearbeiten lässt.

Nämlich : Wie leite ich den Stream der bei printf ensteht an/in eine Datei namens "test.txt"

Schau mal hier

Code:
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>

int main(void)
{
  FILE *fp;
  
  printf("Jene Ausgabe erfolgt am Bildschrim ... \n");

  if((fp = freopen("test.txt", "w", stdout)) == NULL) 
  {
    printf("Datei konnte nicht geoeffnten/gefunden werden...\n");
    exit(1);
  }

  printf("Diese Ausgabe erfolgt nicht am Bildschirm sondern in die Datei test.txt geschrieben");

  fclose(fp);

  printf("\n\nBeliebige Taste druecken um das Programm zu beenden");

  getch();
  return 0;
}
Gruß Sven

P.S. Hab ich vllt. die Fragestellung nicht begriffen ?! -.- Es ist noch so früh ...
 
Zuletzt bearbeitet:
Ist es insgesamt wohl schon :-) (zu früh)

Stimmt schon. Es wird in seiner Fragestellung nicht ganz klar, an welcher Stelle er Probleme hat.

Drum noch mal die Zusammenfassung:

1. Programm verwendet printf( "hallo");
2. Programm heißt out.exe (Windows) oder out (Linux)
3. Erkenntnis: printf gibt den Inhalt auf das Gerät stdout aus
4. stdout ist bei einem Konsolenprogramm die Ausgabe im Konsolenfenster (Dos Prompt -> Windows; term/console -> Linux)
5. Erkenntnis: stdout kann in einer Konsole in eine Datei umgeleitet werden.
6. Erkenntnis: stdout wird umgeleitet, indem nach Programmaufruf mit Parameter "> dateiname" angehangen wird (ohne Gänzefüßchen).
7. dateiname ist in diesem Fall durch den gewünschten Dateinamen zu ersetzen
8. FINALE ERKENNTNIS: Dies hat überhaupt nichts mit C oder C++ lernen zu tun.

Gruß,
Jumper, the II.
 
Hallo zusammen,

erstmals wirklich vielen Dank an ALLE!!!
Habe jetzt raus bekommen warum ich es gestern nicht hin bekommen habe.
Es lag am $. Bei Windows muss man "out > test.exe" in der Konsole wohl ohne $ eingeben.
Jetzt eben hat es geklappt - dank Euer Tipps!!!
Echt sehr nett von Euch - thanx.

Mit freundlichen Grüssen
TheSubhead
 
Werbung:
Status
Für weitere Antworten geschlossen.
Zurück
Oben