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

来源:互联网 发布:陕西师范网络教育官网 编辑:程序博客网 时间:2024/06/09 13:31

方式一:通过字符串流的方式转化

#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");*///如果以这种方式传递数据,则会调用其内部的缓冲区streambufstringstream 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,100cout<<ss1.str()<<endl;*/return 0;}

istringstream 相当于 C语言的sprintf

ostringstream 相当于C语言的sscanf










0 0
原创粉丝点击