Zitat Zitat von wacked Beitrag anzeigen
Ok ja ich hätte wenigstens versuchen können das rauszufinden, aber cppreference ist ein bisschen wie die man pages: Um etwas komplett neues herauszufinden sind die ungeignet, die sind nur als Nachlagwerk top.
Dafür gibt es Google

Ähm kann ich jetzt nicht reproduzieren:

Code:
$ cat s3rb31.cpp
#include <iostream>
#include <string>


int main() {
        int a;
        std::string b, c;


        std::cin >> a >> b;
        std::cin >> c;
        std::cout << a << ',' << b << ',' << c << '\n';
}
$ g++ -o x s3rb31.cpp
$ ./x
a b c
0,,
Hast du meinen Beispielcode gelesen? Wenn du nicht abfragst ob da ein Fehler passiert ist und das Failbit clearest, kann es ja auch nicht klappen.

Code:
#include <string>
#include <iostream>

bool check_input()
{
	if(std::cin.fail())
	{
		std::cin.clear();
		return false;
	}

	return true;
}

int main() 
{
	int a;
	std::string b, c;

	std::cin >> a >> b >> c;

	if (!check_input())
	{
		std::cin >> b >> c;
		std::cout << "Zahl ungültig. " << b << ',' << c << std::endl;

		return 1;
	}
	
	std::cout << a << ',' << b << ',' << c << std::endl;

	return 0;
}
[18:40:13] s3rb31@archbase:~ $ ./a.out
a b c
Zahl ungültig. a,b
[18:40:16] s3rb31@archbase:~ $ ./a.out
1 a b
1,a,b
[18:40:25] s3rb31@archbase:~ $ ./a.out
0s 123 a
0,s,123