Eingabepufferung unter C

Dieses Thema im Forum "C/C++" wurde erstellt von dawen, 16.11.2005.

  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. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. #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.
     
  4. #3 Lord Kefir, 16.11.2005
    Lord Kefir

    Lord Kefir König

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

    Mfg, Lord Kefir
     
  5. 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.
     
  6. 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
     
  7. #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!
     
  8. Anzeige

    Vielleicht findest du HIER Antworten.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  9. 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?
     
  10. #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. Update auf Apache >=2.4.12 unter Debian Jessie

    Update auf Apache >=2.4.12 unter Debian Jessie: Hi, aufgrund eines Bugs in Apache 2.4 benötige ich zum Deployment von Seafile unter Debian Jessie das Paket apache2 in der Version >= 2.4.12...
  2. Was mache ich falsch? Tiniywm und Mate Install unter OpenBSD

    Was mache ich falsch? Tiniywm und Mate Install unter OpenBSD: Hallo, # make tiny make: don't know how to make tiny Stop in /root/Downloads/tiny/tinywm-1.3 # make tinywm cc -O2 -pipe -o tinywm tinywm.c...
  3. Samba unter Windows 10

    Samba unter Windows 10: Hallo zusammen, ich habe auf meinen Ubuntu Server Samba installiert und eingerichtet. ich kann mich bei Windows 10 mit den Daten anmelden und...
  4. Netzwerkaufbau mit simulierten Paketen unter Linux

    Netzwerkaufbau mit simulierten Paketen unter Linux: Hallo, ich habe folgendes Problem. Da ich noch sehr unerfahren in Sachen Linux bzw. Netzwerkaufbau bin, wollte ich fragen, ob Ihr mir vllt etwas...
  5. Akonadi unterstützt Microsoft EWS

    Akonadi unterstützt Microsoft EWS: Krzysztof Nowicki hat eine initiale Unterstützung von Microsoft Exchange Web Services (EWS) für den KDE-Datenverwaltungsdienst »Akonadi«...