C++ 字符串,字符数组,数字之间转换
2016-07-22 10:03
856 查看
//图片索引号 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:
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
#include <sstream>
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
#Include <string>
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
string num2str(double i)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockStart.gif)
{
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
stringstream ss;
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
ss<<i;
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
return ss.str();
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockEnd.gif)
}
字符串转数字:
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
int str2num(string s)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockStart.gif)
{
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
int num;
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
stringstream ss(s);
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
ss>>num;
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
return num;
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockEnd.gif)
}
方法二:
C library中的sprintf, sscanf 相对更快
可以用sprintf函数将数字输出到一个字符缓冲区中. 从而进行了转换...
例如:
已知从0点开始的秒数(seconds) ,计算出字符串"H:M:S", 其中H是小时, M=分钟,S=秒
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
int H, M, S;
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
string time_str;
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
H=seconds/3600;
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
M=(seconds%3600)/60;
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
S=(seconds%3600)%60;
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
char ctime[10];
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
sprintf(ctime, "%d:%d:%d", H, M, S); // 将整数转换成字符串
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
time_str=ctime; // 结果
与sprintf对应的是sscanf函数, 可以将字符串转换成数字
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
char str[] = "15.455";
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
int i;
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
float fp;
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
sscanf( str, "%d", &i ); // 将字符串转换成整数 i = 15
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
sscanf( str, "%f", &fp ); // 将字符串转换成浮点数 fp = 15.455000
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
//打印
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
printf( "Integer: = %d ", i+1 );
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
printf( "Real: = %f ", fp+1 );
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
return 0;
最后cvSaveImage方法的第一个参数是char *类型的,字符串转换为字符数组的方法
char *bb=&ImageFile[0];
相关文章推荐
- Android之获取手机上的图片和视频缩略图thumbnails
- android string.xml文件中的整型和string型代替
- Android java 与 javascript互访(相互调用)的方法例子
- android上改变listView的选中颜色
- String.intern
- Mootools 1.2教程 函数
- autoit InputBox 函数
- 按右键另存图片只能存BMP
- photoshop去除图片上的水印
- 文件遍历排序函数
- Prototype源码浅析 String部分(二)
- Ruby中的String对象学习笔记
- 关于C#中排序函数的总结
- Oracle 函数大全[字符串函数,数学函数,日期函数]第1/4页
- upload上传单张图片
- Redis02 使用Redis数据库(String类型)全面解析
- 图片引发的溢出危机(图)
- C# WinForm控件对透明图片重叠时出现图片不透明的简单解决方法
- ASP下经常用的字符串等函数参考资料
- PostgreSQL教程(五):函数和操作符详解(1)