Stefan H.: C++ cin.get(..); wird nicht ausgeführt.

hallo,

die funktion cin.get(); ist im namespace std zusammengefasst.

in meinem programm verwende ich diese funktion, um einen 80 zeichen langen string (z.b. cin.get(stringvar,80);) einzulesen. der compiler gibt keine fehler aus, doch wenn man dann im programm vor der eingabe steht, wird das einfach übersprungen und es werden die nachfolgenden befehle ausgeführt.

vielleicht eine lib vergessen?
ich verwende folgende:
...
#include <iostream>
#include <iomanip>
#include <cstring>
#include <conio.c>
#include <cctype>
using namespace std;
...

vielen dank für konstruktive hilfe.

  1. Hallo

    Probier es mal mit getline(...).

    Gruß
      L00NIX

    1. hatte ich schon, aber das half auch nix, zudem kenne ich getline nur im zusammenhang mit file-aktionen. bis jetzt konnte ich das problem mit cin.get nicht lösen.

      1. hatte ich schon, aber das half auch nix, zudem kenne ich getline
        nur im zusammenhang mit file-aktionen. bis jetzt konnte ich das
        problem mit cin.get nicht lösen.

        Probier mal, vor dem cin.get()-Aufruf ein cout.flush() zu machen.
        Eventuell kommt dir ja der Puffer in die Quere?

        Gruß
        L00NIX

  2. hi!

    die funktion cin.get(); ist im namespace std zusammengefasst.
    in meinem programm verwende ich diese funktion, um einen 80 zeichen
    langen string (z.b. cin.get(stringvar,80);) einzulesen. der compiler gibt
    keine fehler aus, doch wenn man dann im programm vor der eingabe steht,
    wird das einfach übersprungen und es werden die nachfolgenden befehle
    ausgeführt.

    Klappt hier ohne Probleme:

      
    #include <iostream>  
      
    using namespace std;  
      
    int main(int argc, char **argv) {  
      char test[80];  
      cin.get(test, 80);  
      cout << test << endl;  
    }  
    
    

    vielleicht eine lib vergessen?

    Dann könntest du dein Programm ja nicht linken.

    bye, Frank!

    --
    Never argue with an idiot. He will lower you to his level and then
    beat you with experience.