如何在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;
我想要得到的是x=1;y=20;z=100如何在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; 你就快到了运算符>>()是格式化的提取运算
有人有什么建议吗 您不想读取字符,只想读取整数
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;
你就快到了<代码>运算符>>()是格式化的提取运算符。将变量从typechar
更改为typeint
,您就可以开始了。听起来您想读取整数。你可以做:
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;