Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/151.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在c++;? 我正在努力从C++中的控制台读取字符。 以下是我试图做的: char x; char y; char z; cout<<"Please enter your string: "; string s; getline(cin,s); istringstream is(s); is>> x >> y >> z;_C++_String_Parsing_Character - Fatal编程技术网

如何在c++;? 我正在努力从C++中的控制台读取字符。 以下是我试图做的: char x; char y; char z; cout<<"Please enter your string: "; string s; getline(cin,s); istringstream is(s); is>> x >> y >> z;

如何在c++;? 我正在努力从C++中的控制台读取字符。 以下是我试图做的: char x; char y; char z; cout<<"Please enter your string: "; string s; getline(cin,s); istringstream is(s); is>> x >> y >> z;,c++,string,parsing,character,C++,String,Parsing,Character,我想要得到的是x=1;y=20;z=100 有人有什么建议吗 您不想读取字符,只想读取整数 int x; int y; int z; cout<<"Please enter your string: "; string s; getline(cin,s); istringstream is(s); is>> x >> y >> z; intx; int-y; intz; cout x>>y>>z; 你就快到了运算符>>()是格式化的提取运算

我想要得到的是x=1;y=20;z=100


有人有什么建议吗

您不想读取字符,只想读取整数

int x;
int y; 
int z;

cout<<"Please enter your string: ";
string s;
getline(cin,s);
istringstream is(s);

is>> x >> y >> z;
intx;
int-y;
intz;
cout x>>y>>z;

你就快到了<代码>运算符>>()是格式化的提取运算符。将变量从type
char
更改为type
int
,您就可以开始了。

听起来您想读取整数。你可以做:

int x, y, z;

cout << "Please enter three integers: ";
cin >> x >> y >> z;
intx,y,z;
cout>x>>y>>z;

获得这些结果的原因是,由于x、y和z是字符,当您使用istringstream时,它将第一个字符读入x,它跳过空格并将字符“2”读入y,下一个字符是“0”,然后进入z

char x, y, z;
cout << "Please enter three integers: ";
cin >> x >> y >> z;
字符x,y,z;
cout>x>>y>>z;

如果这不起作用,就使用int,因为试图找到一种解决方法,使用chars而不是int来保存内存,在这里担心的是错误的事情。

我想按字符读取,因为我想保存内存。字符只需要1个字节(这对于我的程序来说已经足够了)而整数需要4个字节。所以当你想要z=100,但是想要z是一个字符时,你是什么意思?你是说ascii字符100吗?@tsubasa我们理解。我们是说不值得这么麻烦。这就是所谓的“过早优化”。您正在给自己带来一个不必要的麻烦,并使您的代码变得混乱,以节省一些无关紧要的字节bytes@tsubasa字体你为什么觉得有必要节省这么小的空间?如果有的话,编译器可能会填充一些堆栈变量以进行对齐<代码>字符串动态分配,占用更多空间,流通常不怕使用堆栈变量,等等。
char x, y, z;
cout << "Please enter three integers: ";
cin >> x >> y >> z;