标签:
一、itoa()和atoi()
注意:这两个函数并不是标准的C函数,而是windows环境下特有的函数。
1、itoa
#include<iostream> #include<string> using namespace std; int main() { int num=12345; string str; char s[30]; itoa(num,s,10); str=str+s; cout<<str; return 0; }
这里要注意:使用itoa是一定要使用char[]过度一下,如果直接使用string的话,可能是由于没有提前申请内存的原因,虽然调试的时候有值,但是实际输出是没值的。
如下面这段代码就没有任何输出。
#include<iostream> #include<string> using namespace std; int main() { int num=12345; string str; //char s[30]; string s; itoa(num,(char *)s.c_str(),10); str=str+s; cout<<str; return 0; }
2、atoi
#include<iostream> #include<string> using namespace std; int main() { int num; string str="12345"; num=atoi(str.c_str()); cout<<num; return 0; }
二、stringstream
将stringstream看成一个万能类型,可以吞下任何类型的数据,也可以根据目标类型输出任何类型数据。
注意:1、使用是包含头文件sstream
2、多次使用同一个stringstream变量时,中间要使用.clear()方法进行清空
#include<iostream> #include<string> #include<sstream> using namespace std; int main() { int num_in=12345; string str_in="45678"; string str_out; string num_out; stringstream ss; ss<<num_in; ss>>str_out; ss.clear(); ss<<str_in; ss>>num_out; cout<<str_out<<num_out; return 0; }
标签:
原文地址:http://www.cnblogs.com/bewolf/p/4779436.html