zoukankan      html  css  js  c++  java
  • C++中常用类型的转换总结

    1,string转char *

         string str="hello"
         char *array=(char*)str.c_str();
    2, char * 转 unsigned char *
       在符号不影响的情况下,可以通过强制转换来完成
      unsigned char *un_array=(unsigned char *)array
     
    3, char * 转string
        char *array=(char *)"hello";
        string str;
        str.assign(array,length)     //length为从char数组的第0位开始,一直到length-1位置的所有字符转换为string
        str.assign(array)       //array所指向数组的以空字符结束的字符串副本替换S
         //或者在声明阶段直接进行初始化
        string str(array);
        string str(array, length)    //以0下标开始的length长字符进行初始化
        string str(array, start, len)  //以start下标开始的len长的字符进行初始化
    4, int, unsigned int, long, unsigned long转string
       利用stringstream这个流,需要引入#include <sstream>
       string str;
        stringstream ss;
       int a=10;     //这里同样适用于 unsigned long, long, unsigned int
       ss<<a;
      ss>>str;    //这时str的值就为“10”
    5,long转换为string的一个解决方案:
                      可以先用sprintf函数把long转换为char*,然后char*直接可以赋给string。 6, string转换为long的一个解决方案                  先用string的成员函数c_str()转化为char*,再用sscanf函数将char*转为long。 sscanf和sprintf是C函数,头文件stdio.h,用法和scanf、printf相似
    欢迎来我的新浪博客做客: http://blog.sina.com.cn/toto0473
  • 相关阅读:
    各种读取速度
    索引倒排
    清空mysql数据
    java随机读取文件
    移动文件
    输出字符串数组
    背包问题
    使用bloomfilter
    使用hash拆分文件
    判断文件的编码格式
  • 原文地址:https://www.cnblogs.com/toto0473/p/2861018.html
Copyright © 2011-2022 走看看