int,char,string,三者相互转换(stringstream)

网上搜了好多资料...虽然还有问题没有解决

好伤 有本全解就好了..

哈哈 这是不可能的..emmm

呢个 如果有小伙伴 知道 

怎么实现 一次流入 多次流出 希望能在下方留言哇~

#include<iostream>
#include<string>
#include<sstream>//stringstream 头文件 
using namespace std;
int main()
{
    int in_int=666666,out_int;
    char in_char[1000]="2333333",out_char[1000];                           
    string in_str("5201314"),out_str;
    stringstream str; 
    
    // int--> string
    str<<in_int;   //流入
      str>>out_str;//流出  
      cout<<out_str<<endl<<endl;
    /* 流出后 会让str处于eofbit转态(就是不能流出/流入)
         因为stringstream 构建和构析非常消耗 cup时间
         所以 多次流入可以通过 
         str.clear() 来清除eofbit状态
        但是它里面的数据并没有清除 查了好多资料也 
         不清楚 怎么实现一次流入 多次流出操作 *_*  -_- .... 
    */
    
    //char--> int
    str.clear();
    str<<in_char;   //流入
      str>>out_int;//流出  
      cout<<out_int<<endl<<endl;
    
    //str--> int
    str.clear();
    str<<in_str;   //流入
      str>>out_int;//流出  
      cout<<out_int<<endl<<endl;
    
    //str--> char
    str.clear();
    str<<in_str;   //流入
      str>>out_char;//流出  
      cout<<out_char<<endl<<endl;
    for (int i=0;out_char[i]!='\0';i++)
       cout<<"case "<<i<<" : "<<out_char[i]<<endl;
    cout<<"这显然成立的!  ^_^"; 
    
    /*
    其他 几个也都是成立的
    int-->char/string
    char-->string/int
    string-->char/int 
    */
    return 0;
 } 

猜你喜欢

转载自www.cnblogs.com/maxv/p/10962749.html