美文网首页CPP
C++ string,char(字符串)与int,double(

C++ string,char(字符串)与int,double(

作者: 任正非用甘油炸隔壁小王 | 来源:发表于2018-02-10 00:09 被阅读0次

    很早以前get√的技能,重新复习一下:-)
    下面是主要的代码:

    ...
    #include <sstream> //必须包含的头文件
    ...
    stringstream stream; //声明一个stringstream变量
    int n;
    string str;
    
    //string转int
    stream << "1234"; //向stream中插入字符串"1234"
    stream >> n; //从stream中提取刚插入的字符串"1234" 并将其赋予变量n完成字符串到int的转换
    cout << n << endl; 
    
    stream.clear(); //同一stream进行多次转换应调用成员函数clear
    
    //int转string
    stream << 1234; //向stream中插入整型数1234
    stream >> str; //从steam中提取刚插入的整型数 并将其赋予变量str完成整型数到string的转换
    cout << str << endl;
    
    

    同理如char和double型等等的转化.
    不过注意一点,当不符合格式时:

    stringstream stream; 
    int n;
    char str[100];
    stream << "1234.12"; 
    stream >> n; 
    cout << n << endl; 
    
    stream.clear(); 
    
    stream << 1234.12; 
    stream >> str;
    cout << str << endl; 
    

    输出结果为:

    1234
    .121234.12
    

    因为流输入是自动匹配格式的,所以小数点及小数点后面的部分就流向下一个.


    最重要的事:

    如果stringstream如果有多个转换时一定一定一定要记得清空,即stream.clear()
    

    相关文章

      网友评论

        本文标题:C++ string,char(字符串)与int,double(

        本文链接:https://www.haomeiwen.com/subject/jzaqtftx.html