Ograniczenie strumienia wejściowego
Ostatnio zmodyfikowano 2015-12-22 04:08
maszaczek Temat założony przez niniejszego użytkownika |
Ograniczenie strumienia wejściowego » 2015-12-21 22:43:27 Hej, mam pewien problem z obsługą strumienia wejścia. Oto fragment kodu:
char charr[20] = {}; string str;
cout << "Wprowadzenie wiersza tekstu:\n"; cin.getline(charr, 20);
Rozchodzi się o to, że jeśli dam do wprowadzenia np 30 znaków to do tablicy wejdzie 19 znaków, a reszta zostanie w strumieniu i zostanie wrzucona do następnej operacji wprowadzenia danych. Jak można zrobić, żeby nadmiar danych był usuwany, a ilość danych spełniająca rozmiar tablicy zostanie umiejscowiona w tablicy? Czyli do tablicy 20-elementowej wprowadzam po złości 40 znaków, 19 znaków zostaje wprowadzonych a reszta leci w eter. Jak to zrobić? Może czyszczenie bufora? |
|
carlosmay |
» 2015-12-22 04:08:58 cin.ignore(); albo odrzuć na piechotę while( cin.get() != '\n' ) continue;
|
|
« 1 » |