Eingabepufferung unter C

Diskutiere Eingabepufferung unter C im C/C++ Forum im Bereich Programmieren unter Linux/Unix; Hallo, ich würde mal gerne wissen, welche Möglichkeiten es gibt, mit dem Problem der Eingabepufferung unter C umzugehen, welche Funktionen es...

  1. dawen

    dawen Jungspund

    Dabei seit:
    18.11.2004
    Beiträge:
    12
    Zustimmungen:
    0
    Hallo,

    ich würde mal gerne wissen, welche Möglichkeiten es gibt, mit dem Problem der Eingabepufferung unter C umzugehen, welche Funktionen es dafür so gibt ?
     
  2. #2 MrFenix, 16.11.2005
    MrFenix

    MrFenix Executor

    Dabei seit:
    16.10.2004
    Beiträge:
    480
    Zustimmungen:
    0
    Ort:
    Siegen, NRW
    Also in C++ hätte ich gesagt cin und Strings statt scanf und char*.
    In C wird das wohl schlecht gehen..
    Was mir da einfallen würde um das scheinbar zu umgehen ist ein ein Buchstaben Puffer mit getchar() und einer while Schleife - aber wirklich das Gelbe vom Ei ist das auch nicht.
     
  3. #3 Lord Kefir, 16.11.2005
    Lord Kefir

    Lord Kefir König

    Dabei seit:
    10.06.2004
    Beiträge:
    945
    Zustimmungen:
    0
    Daten einlesen geht mit fgets() wunderbar und problemlos :)

    Mfg, Lord Kefir
     
  4. dawen

    dawen Jungspund

    Dabei seit:
    18.11.2004
    Beiträge:
    12
    Zustimmungen:
    0
    Danke erstmal für die Antworten. Die unter Windows beliebte conio.h bietet die Funktionen getch()/getche(), was haltet ihr von den Methoden setbuf() bzw. setvbuf() oder fflush(stdin), wären das elegante Möglichkeiten.
     
  5. zyon

    zyon undeadlyBSD

    Dabei seit:
    03.11.2005
    Beiträge:
    333
    Zustimmungen:
    0
    Ort:
    Göttingen
    unter c++ kannst die auch cin.get(); anschauen.

    Gruß

    zyon
     
  6. #6 hazelnoot, 27.12.2005
    hazelnoot

    hazelnoot www.mywm.dl.am

    Dabei seit:
    13.10.2005
    Beiträge:
    377
    Zustimmungen:
    0
    Ort:
    in Geiersberg
    was es unter windows in conio.h gibt gibt es im endeffekt so auch in der bibliothek lncurses unter linux!
     
  7. Konrad

    Konrad Jungspund

    Dabei seit:
    13.06.2004
    Beiträge:
    20
    Zustimmungen:
    0
    Also ich würde mir einfach ein "struct buffer;" bauen und zusätzlich die Funktionen buffer_add(struct buffer *buf, char c); sowie buffer_addn(struct buffer *buf, char *str, int n); und damit die Zeichen in den Buffer laden, welcher durch die beiden Funktionen den Speicher intern verwaltet.
    So ähnlich macht das auch der std::streambuf in C++.
    Und an die Zeichen kommste dann halt mit fgetc/fgets.

    Conio bzw. Ncurses sind glaube ich hier unnötig. Wenn ich richtig informiert bin erspart einem getch() doch nur das <Enter> drücken nach dem Zeichen oder?

    Von den beiden Funktionen habe ich leider ebenfalls keine Ahnung.
    Ist es denn aber nicht so dass diese Funktionen nur den internen Puffer, den der Stream benutzt, verändern und dass sich das nicht direkt auf "unser Problem" auswirkt?
     
  8. #8 hazelnoot, 28.01.2006
    hazelnoot

    hazelnoot www.mywm.dl.am

    Dabei seit:
    13.10.2005
    Beiträge:
    377
    Zustimmungen:
    0
    Ort:
    in Geiersberg
    in c kannst du das ganze noch so umgehen dass du dir deine console in den raw modus schaltest, und dir dann deine eigene eingabe methode schreibst!
     
Thema:

Eingabepufferung unter C

Die Seite wird geladen...

Eingabepufferung unter C - Ähnliche Themen

  1. Anlage einer SWAP-Datei unter CentOS 7 funktioniert nicht

    Anlage einer SWAP-Datei unter CentOS 7 funktioniert nicht: Hallo zusammen, ich verwende einen vServer von Strato (Linux V30) mit CentOS 7 64bit. Hier wollte ich nun einen SWAP-Speicher mit 8GB anlegen -...
  2. Robots aussperren, Websitescan unterbinden, PHP Checkbox-Captcha?

    Robots aussperren, Websitescan unterbinden, PHP Checkbox-Captcha?: Hallo zusammen, ich hätte gerne einen bestimmten Bereich der Webseite, den Robots oder scriptbasierte Scans von irgendwelchen Suchmaschinen oder...
  3. [gelöst] 2.HDD unter Freebsd partitionieren

    [gelöst] 2.HDD unter Freebsd partitionieren: Hallo Habe eine Testserver mit freeBSD 11.0 auf einer IDE-HDD (ada0) mit ZFS-root hab jetzt eine 2. HDd (SATA) angeschlossen und wollte die...
  4. Installation von COM Ports unter Unix

    Installation von COM Ports unter Unix: Hallo, vorne weg, ich habe von Linux nur Grundkenntnisse und bitte daher etwas um Rücksicht, wenn ich doofe fragen stelle;). Zum Problem: Es gibt...
  5. Samba 4 trennt sich beim Übertragen unter Windows7/10

    Samba 4 trennt sich beim Übertragen unter Windows7/10: Hallo zusammen Mir ist nun schon ein paar Mal aufgefallen dass sich mein Samba-Server (Debian 8.7.1 + backports-Kernel v4.9.x) "einfach so", ohne...