Tutorium #6

Einführung in die (strukturierte) Programmierung

Gruppe 2 – Thomas Neff prog-tutor-thomas@iicm.tugraz.at
Gruppe 3 – Michael Schwarz prog-tutor-michael@iicm.tugraz.at
Gruppe 5 – Jörg Müller prog-tutor-joerg@iicm.tugraz.at
Gruppe 6 – Christoph Hack prog-tutor-hack@iicm.tugraz.at
Gruppe 8 – Anja Karl prog-tutor-anja@iicm.tugraz.at
Gruppe 9 – Manuel Weber prog-tutor-weber@iicm.tugraz.at

Tutoriumsinhalt

Shell

cd [Ordner]In Ordner wechseln
cd ~In home Verzeichnis wechseln
ls -lDatein und Ordner mit Details auflisten
rm [Dateiname]Datei löschen
rmdir [Ordner]Leeren Ordner löschen
mkdir [Ordner]Ordner erstellen
mv [alter Name] [neuer Name]Datei verschieben
nano [Dateiname]Einfacher Editor zum Bearbeiten
man [Befehl]Hilfe zu einem Befehl (z.B. man ls)

Pipes

Möglichkeit, die Ausgabe der einzelnen Befehle umzuleiten bzw. an andere Befehle weiterzuleiten.

Pipes

Ausgabe umleiten

./programm > ausgabe.txt

Eingabe umleiten

./programm < eingabe.txt

stderr umleiten

./programm 2> error.txt

Pipes

Beliebig kombinierbar

./programm < input.txt 1> output.txt 2> error.txt

Stdout als stdin eines anderen programms

./programm | tail

Returncode des letzten Programms

echo $?

realloc - blockweises allokieren

Der sizeof Operator

Funktioniert

  • int charsize = sizeof(char);
  • int ptrsize = sizeof(int*);
  • int size = sizeof("Hallo");
  • int x[20];
    int len = 
      sizeof(x) / sizeof(x[0]);
    

Funktioniert nicht

  • int* x = (int*)malloc(100);
    int len = sizeof(x);
  • int x[20];
    int* y = x;
    int len = 
      sizeof(y) / sizeof(y[0]);
    
  • char* hallo = "Hallo";
    int size = sizeof(hallo);
    

Verwendung von sizeof

http://misc0110.net/esp

Highscore: http://misc0110.net/esp/hiscore.html

Regeln fürs Quiz

Abgabe

Bis zum nächsten Mal!