c++ cin input 输入
今天花了一个小时在cin 上面
明明输入两个东西是一样的。
string str1,str2
getline(cin,str1,'\t');
cin>>str2;
但是
if(str1==str2)
输入一样东西却不进入 if
太奇怪了
用cout< cout< 也不行,发现一样
灵机一动
换一种方法
cout<<111< 发现不一样
原来'\t'的关系,把两个string换成一样的输入就好了,
回去研究一下,cin
上午对pass by value 和 reference
居然还产生了问题
void myfunc(vector a){
a.resize(100);
};
main(){vector b;b.resize(1);myfunc(b)}
不会改变vector size
因为c++是pass by value的
除非改成
void myfunc(vector &a){
a.resize(100);
};
明明输入两个东西是一样的。
string str1,str2
getline(cin,str1,'\t');
cin>>str2;
但是
if(str1==str2)
输入一样东西却不进入 if
太奇怪了
用cout<
灵机一动
换一种方法
cout<<111<
原来'\t'的关系,把两个string换成一样的输入就好了,
回去研究一下,cin
上午对pass by value 和 reference
居然还产生了问题
void myfunc(vector
a.resize(100);
};
main(){vector
不会改变vector size
因为c++是pass by value的
除非改成
void myfunc(vector
a.resize(100);
};
评论