linux-l: stdio.h und DeCSS

Jens Dreger jens.dreger at physik.fu-berlin.de
Mo Apr 17 22:34:44 CEST 2000


On Mon, Apr 17, 2000 at 03:00:29PM +0100, Steffen Schulz wrote:
> Hallo Listenmitglieder(innen)!
> 
> Ich habe mir eine Einfuehrung in C++ in Form eines Buches gekauft.
> Natuerlich werden in den Listings nur die Bibliotheken von Windows
> benutzt. Da ich aber so gern mit Linux arbeite(schleim), moechte ich
> das auch mit jenem OS nachvollziehen koennen. Dafuer allerdings
> benoetige ich die passenden Befehle nebst deren Syntax. Aus dem
> Linux-Magazin hab ich "printf" kennengelernt.

Oje, das Linux-Magazin. printf sollte man doch in C++ gerade nicht
verwenden (mangeldes Type-Checking...).

> Kapiteln benoetige ich jetzt aber einen Befehl, mit dem ich waehrend
> der Laufzeit aufgefordert werde etwas einzugeben.(Die Eingabe soll
> dann z.B. einer Variable zugewiesen werden.)
> pepe at goofy > man stdio.h
> Toll. Wer die Wahl hat, hat die Qual.
> 
> Kann mir jemand einen Befehl nennen, der oben aufgefuehrtes kann?
> Kann mir jemand die Syntax des Befehls mailen?

Hm.
----------------8<---------------------------------
// compile with: g++ -o steffen steffen.cpp
#include <iostream>

int main()
{
  double x;
  cout << "gib' mal 'ne Zahl ein: ";
  if(cin >> x) {
    cout << "Wow, Du hast " << x << " eingegeben !" << endl;
  } else {
    cout << "Eine ZAHL habe ich gesagt !" << endl
	 << "Das sind diese Tasten in der ersten Reihe !" << endl;
  }
}
-------------------8<-------------------------------

Aber ich kann eigentlich nicht wirklich gut C++...

> Noch besser: Kann mir jemand sagen, wo ich sowas selber rausfinde?
> (man-Pages und Quellcode hab ich schon erfolglos durchsucht.)

Siehe z.B.:
 http://smart.physik.fu-berlin.de/~dreger/docs/cpp/c++-faq/input-output.html
 http://smart.physik.fu-berlin.de/~dreger/docs/iostream/iostream_toc.html

> Und nochwas: Gibt es beim compilieren von decss etwas zu beachten?
> pepe at goofy > g++ irgendeine.c -o irgendwas
> meldet viele Fehler.

Fehler oder Warnings ?

> Wie kann man die Fehlerausgaben in eine Datei umleiten, um sie vom
> Anfang an zu sehen?

  g++ irgendeine.c -o irgendwas 2>stderr.out 1>stdout.out

oder alles zusammen in eine Datei:

  g++ irgendeine.c -o irgendwas >everything.out 2>&1

Man beachte auch die entsprechende Stelle in der bash-manpage. Sie
zeichnet sich durch besondere Unverstehbarkeit aus:

-----------8<---------------------------------------
Note that the order of redirections is significant. For example,
the command

       ls > dirlist 2>&1

directs both standard output and standard error to the file dirlist,
while the command

       ls 2>&1 > dirlist

directs  only the standard output to file dirlist, because the
standard error was duplicated as standard output before the standard
output was redirected to dirlist.
------------------8<-----------------------------------------

Alle Klarheiten beseitigt ? ;-)

Gruss,

Jens.



Mehr Informationen über die Mailingliste linux-l