您的位置:首页 > 其它

如何把字符串"192,168,1,100"转化为"192.168.1.100"

2014-06-20 23:02 615 查看
方式一:通过字符串流的方式转化

#include <iostream>
#include <string>
#include <sstream>
using namespace std;
int main()
{
//第一种方式
/*
string str="192,168,1,100";
int v1=0,v2=0,v3=0,v4=0;
char ch;
istringstream iss(str);
iss>>v1>>ch>>v2>>ch>>v3>>ch>>v4;
ch='.';
ostringstream oss;
oss<<v1<<ch<<v2<<ch<<v3<<ch<<v4;
cout<<oss.str()<<endl;
*/
//第二种方式
string str="192,168,1,100";
int v1=0,v2=0,v3=0,v4=0;
char ch;
/*	stringstream ss1("192,168,1,100");*///如果以这种方式传递数据,则会调用其内部的缓冲区streambuf
stringstream ss1(str);//如果str以这种方式传递数据,则会把str缓冲区和其内部的缓冲区streambuf相绑定
ss1>>v1>>ch>>v2>>ch>>v3>>ch>>v4;
ch='.';
stringstream ss2;
ss2<<v1<<ch<<v2<<ch<<v3<<ch<<v4;
cout<<ss2.str()<<endl;
/*ss1<<v1<<ch<<v2<<ch<<v3<<ch<<v4;//如果不重新声明stringstream的新对象,则会调用其前面的str的缓冲区,str的内容是是192,168,1,100
cout<<ss1.str()<<endl;*/
return 0;
}

istringstream 相当于 C语言的sprintf

ostringstream 相当于C语言的sscanf






                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: