string 转 int
1.stringstream 用流转换
cin cout都是流的操作 iostream
cin的时候,从屏幕读取字符串流,自动判断类型(省去了scanf的格式控制)
stringstream大概理解成这个操作是没问题的
将string作为流读入stringstream
再从流中读出来,给int
相当于自己手动操作的cin了
string s="123";
stringstream stm;
stm<<s;//读取s,成为流
int n;
stm>>n;//将流输入到n中
需要注意的是,多次使用stringstream
需要用到stm.clear(),重置流的状态,并不释放内存
和stm.str(""),释放stm占用的内存空间,也就是赋值
2.c语言的sscanf函数
这个理解成c语言里的手动操作输入就行了
scanf是从屏幕读取,这个函数sscanf是从别的地方读取,比如
int a;
sscanf("123","%d",&a);
cout<<a;
将"123"这个字符串以int格式输入a变量
跟stringstream很相似,stringstream是c++的,省去了判断类型
3.有sscanf,自然有sprinf
不过以上两种够我用了,暂时不写了