zoukankan      html  css  js  c++  java
  • C++ 字符串,字符数组,数字之间转换

    小的东西往往很麻烦,就是想利用图片索引累加的方法存储图片。贴出一小段代码

    //图片索引号
    int ImageIndex=0;
    int main()
    {
       .......
                   //数字转换为字符串
                ImageIndex++;
                string Index;
                char index[10];
                sprintf_s(index,"%d",ImageIndex);
                Index=index;
                string ImageFile="D:\\test"+Index +".jpg";
                cvSaveImage(&ImageFile[0],&storeImage);
       .......
    }

    将数字转换为字符串有两种方法:一种用string下的字符流;一种是C下的sprintf, sscanf方法;

    方法一:

    用C++的streanstream:

    #include <sstream>
    #Include 
    <string>
    string num2str(double i)
    {
            stringstream ss;
            ss
    <<i;
            
    return ss.str();
    }


    字符串转数字:

    int str2num(string s)
     
    {   
            
    int num;
            stringstream ss(s);
            ss
    >>num;
            
    return num;
    }

     方法二:

    C library中的sprintf, sscanf 相对更快

    可以用sprintf函数将数字输出到一个字符缓冲区中. 从而进行了转换...
    例如:
    已知从0点开始的秒数(seconds) ,计算出字符串"H:M:S",  其中H是小时, M=分钟,S=秒

             int H, M, S;
            
    string time_str;
            H
    =seconds/3600;
            M
    =(seconds%3600)/60;
            S
    =(seconds%3600)%60;
            
    char ctime[10];
            sprintf(ctime, 
    "%d:%d:%d", H, M, S);             // 将整数转换成字符串
            time_str=ctime;                                                 // 结果 

    与sprintf对应的是sscanf函数, 可以将字符串转换成数字

        char    str[] = "15.455";
        
    int     i;
        
    float     fp;
        sscanf( str, 
    "%d"&i );         // 将字符串转换成整数   i = 15
        sscanf( str, "%f"&fp );      // 将字符串转换成浮点数 fp = 15.455000
        
    //打印
        printf( "Integer: = %d ",  i+1 );
        printf( 
    "Real: = %f ",  fp+1 ); 
        
    return 0;
    最后cvSaveImage方法的第一个参数是char *类型的,字符串转换为字符数组的方法
    char *bb=&ImageFile[0];
  • 相关阅读:
    解决urbuntu桌面本客户端输入ll command not found
    小白学习安全测试(二)——httrack的安装和使用
    Selenium + java不借助autolt实现下载文件到指定目录
    用例设计工具PICT — 输入组合覆盖
    解决创建maven项目Could not resolve archetype org.apache.maven.archetypes:maven-archetype-quickstart问题
    作死的自动化测试【转】
    测试开发是什么?为什么现在那么多公司都要招聘测试开发?【转】
    MySql的触发器
    MySql的存储过程
    MySql的索引操作
  • 原文地址:https://www.cnblogs.com/zcftech/p/3010836.html
Copyright © 2011-2022 走看看