- 浏览: 204669 次
- 性别:
- 来自: 成都
文章分类
- 全部博客 (231)
- C++学习 (41)
- vc学习 (25)
- vc异常 (4)
- Flex (2)
- Ext (0)
- java学习笔记 (15)
- mysql学习笔记 (1)
- ibatis学习笔记 (7)
- struts1学习笔记 (1)
- hibernate学习笔记 (3)
- javascript学习笔记 (8)
- eclipse快捷键 (2)
- 英语学习 (1)
- cmd (1)
- eclipse 配置 (2)
- 其他 (4)
- JAVASE (34)
- firefox (1)
- linux (8)
- Apache (6)
- cms (22)
- jsuc (10)
- html (3)
- css (1)
- 作图 (2)
- vs2012 (2)
- 编码转换 (12)
- work_unicode (1)
- work_webbrowser (1)
- work_trade_quotes_login (1)
- c#学习 (38)
- wpf学习 (31)
- wpf快速学习 (1)
- VB学习 (1)
- NSIS (4)
- log4cpp (3)
- 学习web (1)
- 经验 (1)
- c_汇编 (1)
最新评论
VC中数字与字符串转换方法字符串转数字
1.CRT函数
2.使用sscanf
3.Windows SDK:
<shlwapi.h>:StrToInt
4.MFC/ATL:
CString::Format
数字转字符串
1.CRT函数
2.使用sprintf
3.<strsafe.h>:StringCbPrintf
通用相互转换方法
1.C++流方式:
stringstream
2.boost库:
boost:: lexical_cast
二、
可以用CString类的Format()方法,具体实现如下:
int i = 2008;
CString str;
str.Format("%d", i);
这样就OK了。
函数解析:CString::Formatvoid Format( LPCTSTR lpszFormat, ... );
void Format( UINT nFormatID, ... );
参数lpszFormat 一个格式控制字符串。nFormatID 包含格式控制字符串的字符串资源标识符。说明此成员函数用来将格式化数据写入一个CString中,其方法就像sprintf函数向一个C-风格的字符数组中格式化输出数据一样。这个成员函 数在CString中格式化并存储一系列字符和值。根据lpszFormat中指定的格式或nFormatID标识的字符串资源,函数中的每一个可选参数 (如果有)都被转换并输出。当你传递一个字符串作为一个可选择的参数时,你必须显式地将它转换为
LPCTSTR cstring str;
int n=9;
str.format("%d",n)
VC中字符串和数字转换的函数
vc中字符串和数字转换的函数:atoi,atol,strtod,strtol,strtoul 类型转换
atoi,atol,strtod,strtol,strtoul实现类型转换
atof(将字符串转换成浮点型数)
相关函数
atoi,atol,strtod,strtol,strtoul
表头文件
#include <stdlib.h>
定义函数
double atof(const char *nptr);
函数说明
atof()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,而再遇到非数字或字符串结束时('')才结束转换,并将结果返回。参数nptr字符串可包含正负号、小数点或E(e)来表示指数部分,如123.456或123e-2。
返回值
返回转换后的浮点型数。
附加说明
atof()与使用strtod(nptr,(char**)NULL)结果相同。
atoi(将字符串转换成整型数)
相关函数
atof,atol,atrtod,strtol,strtoul
表头文件
#include<stdlib.h>
定义函数
int atoi(const char *nptr);
函数说明
atoi()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,而再遇到非数字或字符串结束时('')才结束转换,并将结果返回。
返回值
返回转换后的整型数。
附加说明
atoi()与使用strtol(nptr,(char**)NULL,10);结果相同。
atol(将字符串转换成长整型数)
相关函数
atof,atoi,strtod,strtol,strtoul
表头文件
#include<stdlib.h>
定义函数
long atol(const char *nptr);
函数说明
atol()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,而再遇到非数字或字符串结束时('')才结束转换,并将结果返回。
返回值
返回转换后的长整型数。
附加说明
atol()与使用strtol(nptr,(char**)NULL,10);结果相同。
gcvt(将浮点型数转换为字符串,取四舍五入)
相关函数
ecvt,fcvt,sprintf
表头文件
#include<stdlib.h>
定义函数
char *gcvt(double number,size_t ndigits,char *buf);
函数说明
gcvt()用来将参数number转换成ASCII码字符串,参数ndigits表示显示的位数。gcvt()与ecvt()和fcvt()不同的地方 在于,gcvt()所转换后的字符串包含小数点或正负符号。若转换成功,转换后的字符串会放在参数buf指针所指的空间。
返回值
返回一字符串指针,此地址即为buf指针。
附加说明
strtod(将字符串转换成浮点数)
相关函数
atoi,atol,strtod,strtol,strtoul
表头文件
#include<stdlib.h>
定义函数
double strtod(const char *nptr,char **endptr);
函数说明
strtod()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,到出现非数字或字符串结束时('')才结束转换, 并将结果返回。若endptr不为NULL,则会将遇到不合条件而终止的nptr中的字符指针由endptr传回。参数nptr字符串可包含正负号、小数 点或E(e)来表示指数部分。如123.456或123e-2。
返回值
返回转换后的浮点型数。
附加说明
参考atof()。
strtol(将字符串转换成长整型数)
相关函数
atof,atoi,atol,strtod,strtoul
表头文件
#include<stdlib.h>
定义函数
long int strtol(const char *nptr,char **endptr,int base);
函数说明
strtol()会将参数nptr字符串根据参数base来转换成长整型数。参数base范围从2至36,或0。参数base代表采用的进制方式,如 base值为10则采用10进制,若base值为16则采用16进制等。当base值为0时则是采用10进制做转换,但遇到如'0x'前置字符则会使用 16进制做转换。一开始strtol()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,再遇到非数字或字符串结束 时('')结束转换,并将结果返回。若参数endptr不为NULL,则会将遇到不合条件而终止的nptr中的字符指针由endptr返回。
返回值
返回转换后的长整型数,否则返回ERANGE并将错误代码存入errno中。
附加说明
ERANGE指定的转换字符串超出合法范围。
strtoul(将字符串转换成无符号长整型数)
相关函数
atof,atoi,atol,strtod,strtol
表头文件
#include<stdlib.h>
定义函数
unsigned long int strtoul(const char *nptr,char **endptr,int base);
函数说明
strtoul()会将参数nptr字符串根据参数base来转换成无符号的长整型数。参数base范围从2至36,或0。参数base代表采用的进制方 式,如base值为10则采用10进制,若base值为16则采用16进制数等。当base值为0时则是采用10进制做转换,但遇到如'0x'前置字符则 会使用16进制做转换。一开始strtoul()会扫描参数nptr字符串,跳过前面的空格字符串,直到遇上数字或正负符号才开始做转换,再遇到非数字或 字符串结束时('')结束转换,并将结果返回。若参数endptr不为NULL,则会将遇到不合条件而终止的nptr中的字符指针由endptr返回。
返回值
返回转换后的长整型数,否则返回ERANGE并将错误代码存入errno中。
附加说明
ERANGE指定的转换字符串超出合法范围。
toascii(将整型数转换成合法的ASCII 码字符)
相关函数
isascii,toupper,tolower
表头文件
#include<ctype.h>
定义函数
int toascii(int c)
函数说明
toascii()会将参数c转换成7位的unsigned char值,第八位则会被清除,此字符即会被转成ASCII码字符。
返回值
将转换成功的ASCII码字符值返回。
tolower(将大写字母转换成小写字母)
相关函数
isalpha,toupper
表头文件
#include<stdlib.h>
定义函数
int tolower(int c);
函数说明
若参数c为大写字母则将该对应的小写字母返回。
返回值
返回转换后的小写字母,若不须转换则将参数c值返回。
附加说明
toupper(将小写字母转换成大写字母)
相关函数
isalpha,tolower
表头文件
#include<ctype.h>
定义函数
int toupper(int c);
函数说明
若参数c为小写字母则将该对映的大写字母返回。
返回值
返回转换后的大写字母,若不须转换则将参数c值返回。
1.CRT函数
ASCII | UNICODE | TCHAR | VS2005 | |
int | atoi | _wtoi | _tstoi _ttoi | _atoi_l _wtoi_l |
long | atol | _wtol | _tstol _ttol | _atoi_l _wtoi_l |
__int64 | _atoi64 | _wtoi64 | _tstoi64 _ttoi64 | _atoi64_l _wtoi64_l |
float | _atoflt _atoflt_l | |||
double | atof | _wtof | _tstof _ttof | _atof_l _wtof_l atodbl _atodbl_l |
long double | _atoldbl _atoldbl_l |
2.使用sscanf
3.Windows SDK:
<shlwapi.h>:StrToInt
4.MFC/ATL:
CString::Format
数字转字符串
1.CRT函数
ASCII | UNICODE | TCHAR | VS2005 | |
int | itoa _itoa | _itow | _itot | |
long | ltoa _ltoa | _ltow | _ltot | |
__int64 | _i64toa | _i64tow | _i64tot | |
double | gcvt _gcvt _ecvt _fcvt | _wtof | _tstof _ttof | _gcvt_s _ecvt_s _fcvt_s |
2.使用sprintf
3.<strsafe.h>:StringCbPrintf
通用相互转换方法
1.C++流方式:
stringstream
2.boost库:
boost:: lexical_cast
二、
可以用CString类的Format()方法,具体实现如下:
int i = 2008;
CString str;
str.Format("%d", i);
这样就OK了。
函数解析:CString::Formatvoid Format( LPCTSTR lpszFormat, ... );
void Format( UINT nFormatID, ... );
参数lpszFormat 一个格式控制字符串。nFormatID 包含格式控制字符串的字符串资源标识符。说明此成员函数用来将格式化数据写入一个CString中,其方法就像sprintf函数向一个C-风格的字符数组中格式化输出数据一样。这个成员函 数在CString中格式化并存储一系列字符和值。根据lpszFormat中指定的格式或nFormatID标识的字符串资源,函数中的每一个可选参数 (如果有)都被转换并输出。当你传递一个字符串作为一个可选择的参数时,你必须显式地将它转换为
LPCTSTR cstring str;
int n=9;
str.format("%d",n)
VC中字符串和数字转换的函数
vc中字符串和数字转换的函数:atoi,atol,strtod,strtol,strtoul 类型转换
atoi,atol,strtod,strtol,strtoul实现类型转换
atof(将字符串转换成浮点型数)
相关函数
atoi,atol,strtod,strtol,strtoul
表头文件
#include <stdlib.h>
定义函数
double atof(const char *nptr);
函数说明
atof()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,而再遇到非数字或字符串结束时('')才结束转换,并将结果返回。参数nptr字符串可包含正负号、小数点或E(e)来表示指数部分,如123.456或123e-2。
返回值
返回转换后的浮点型数。
附加说明
atof()与使用strtod(nptr,(char**)NULL)结果相同。
atoi(将字符串转换成整型数)
相关函数
atof,atol,atrtod,strtol,strtoul
表头文件
#include<stdlib.h>
定义函数
int atoi(const char *nptr);
函数说明
atoi()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,而再遇到非数字或字符串结束时('')才结束转换,并将结果返回。
返回值
返回转换后的整型数。
附加说明
atoi()与使用strtol(nptr,(char**)NULL,10);结果相同。
atol(将字符串转换成长整型数)
相关函数
atof,atoi,strtod,strtol,strtoul
表头文件
#include<stdlib.h>
定义函数
long atol(const char *nptr);
函数说明
atol()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,而再遇到非数字或字符串结束时('')才结束转换,并将结果返回。
返回值
返回转换后的长整型数。
附加说明
atol()与使用strtol(nptr,(char**)NULL,10);结果相同。
gcvt(将浮点型数转换为字符串,取四舍五入)
相关函数
ecvt,fcvt,sprintf
表头文件
#include<stdlib.h>
定义函数
char *gcvt(double number,size_t ndigits,char *buf);
函数说明
gcvt()用来将参数number转换成ASCII码字符串,参数ndigits表示显示的位数。gcvt()与ecvt()和fcvt()不同的地方 在于,gcvt()所转换后的字符串包含小数点或正负符号。若转换成功,转换后的字符串会放在参数buf指针所指的空间。
返回值
返回一字符串指针,此地址即为buf指针。
附加说明
strtod(将字符串转换成浮点数)
相关函数
atoi,atol,strtod,strtol,strtoul
表头文件
#include<stdlib.h>
定义函数
double strtod(const char *nptr,char **endptr);
函数说明
strtod()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,到出现非数字或字符串结束时('')才结束转换, 并将结果返回。若endptr不为NULL,则会将遇到不合条件而终止的nptr中的字符指针由endptr传回。参数nptr字符串可包含正负号、小数 点或E(e)来表示指数部分。如123.456或123e-2。
返回值
返回转换后的浮点型数。
附加说明
参考atof()。
strtol(将字符串转换成长整型数)
相关函数
atof,atoi,atol,strtod,strtoul
表头文件
#include<stdlib.h>
定义函数
long int strtol(const char *nptr,char **endptr,int base);
函数说明
strtol()会将参数nptr字符串根据参数base来转换成长整型数。参数base范围从2至36,或0。参数base代表采用的进制方式,如 base值为10则采用10进制,若base值为16则采用16进制等。当base值为0时则是采用10进制做转换,但遇到如'0x'前置字符则会使用 16进制做转换。一开始strtol()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,再遇到非数字或字符串结束 时('')结束转换,并将结果返回。若参数endptr不为NULL,则会将遇到不合条件而终止的nptr中的字符指针由endptr返回。
返回值
返回转换后的长整型数,否则返回ERANGE并将错误代码存入errno中。
附加说明
ERANGE指定的转换字符串超出合法范围。
strtoul(将字符串转换成无符号长整型数)
相关函数
atof,atoi,atol,strtod,strtol
表头文件
#include<stdlib.h>
定义函数
unsigned long int strtoul(const char *nptr,char **endptr,int base);
函数说明
strtoul()会将参数nptr字符串根据参数base来转换成无符号的长整型数。参数base范围从2至36,或0。参数base代表采用的进制方 式,如base值为10则采用10进制,若base值为16则采用16进制数等。当base值为0时则是采用10进制做转换,但遇到如'0x'前置字符则 会使用16进制做转换。一开始strtoul()会扫描参数nptr字符串,跳过前面的空格字符串,直到遇上数字或正负符号才开始做转换,再遇到非数字或 字符串结束时('')结束转换,并将结果返回。若参数endptr不为NULL,则会将遇到不合条件而终止的nptr中的字符指针由endptr返回。
返回值
返回转换后的长整型数,否则返回ERANGE并将错误代码存入errno中。
附加说明
ERANGE指定的转换字符串超出合法范围。
toascii(将整型数转换成合法的ASCII 码字符)
相关函数
isascii,toupper,tolower
表头文件
#include<ctype.h>
定义函数
int toascii(int c)
函数说明
toascii()会将参数c转换成7位的unsigned char值,第八位则会被清除,此字符即会被转成ASCII码字符。
返回值
将转换成功的ASCII码字符值返回。
tolower(将大写字母转换成小写字母)
相关函数
isalpha,toupper
表头文件
#include<stdlib.h>
定义函数
int tolower(int c);
函数说明
若参数c为大写字母则将该对应的小写字母返回。
返回值
返回转换后的小写字母,若不须转换则将参数c值返回。
附加说明
toupper(将小写字母转换成大写字母)
相关函数
isalpha,tolower
表头文件
#include<ctype.h>
定义函数
int toupper(int c);
函数说明
若参数c为小写字母则将该对映的大写字母返回。
返回值
返回转换后的大写字母,若不须转换则将参数c值返回。
发表评论
-
manifest
2015-06-08 17:57 1882我遇到的问题: 将 Upload.exe Upload.exe ... -
log4CPP多线程支持的缺角(一)(转)
2015-06-01 10:59 1010log4CPP多线程支持的缺角 ... -
minizip压缩文件夹(转)
2015-06-01 10:26 2259#include <atlconv.h> / ... -
文件大小(转)
2015-06-01 10:08 494方法一: WIN32_FIND_DATA fi ... -
log4cpp环境变量
2015-05-13 15:32 677log4cplus.appender.DEBUG_MSG.Fi ... -
linux设置环境变量putenv() setenv() getenv()(转)
2015-05-13 15:28 1202linux设置环境变量putenv() setenv() ge ... -
VC学习:log4cpp
2015-05-12 15:37 808基于LGPL开源项目 Log4cpp ... -
VC异常:File:write.c Line:67
2015-05-12 15:29 745VC异常:File:write.c Line:67 路径没找 ... -
C++异常:rethrow【转】
2015-05-08 15:20 423C++异常rethrow【转】 http://se.csai. ... -
VC异常:Free Heap block xxxxxxxx modified at xxxxxxxx after it was freed(转)
2015-05-08 15:18 1181Free Heap block xxxxxxxx modifi ... -
VC异常:Free Heap block XXXXXX modified at XXXXXX after it was freed(转)
2015-05-07 15:41 3073Free Heap block XXXXXX modified ... -
VC中关于 0xcccccccc、0xcdcdcdcd和 0xfeeefeee 异常值说明
2015-05-07 15:14 1165VC中关于 0xcccccccc、0xcdcdcdcd和 0x ... -
析构函数后,还可以调用函数成员
2015-05-07 15:13 885析构函数后,还可以调用函数成员 类的所有的函数成员的是编译时期 ... -
[size=medium] c,c#判断socket是否断开[/size]
2015-03-17 13:28 1101c,c#判断socke ... -
时间转换
2015-01-08 11:55 489时间转换 public static long DateT ... -
C++ localtime函数需要注意的地方
2015-01-08 11:42 1011time_t tLast = pLastFQKLineIt ... -
TerminateThread
2014-11-13 14:04 685TerminateThread. 如线程内部不涉及空间开辟, ... -
VC退出线程的方法(转载)
2014-10-23 17:39 734VC退出线程的方法 标题很简单,但是要讨论的地方不少; ... -
创建文件夹CreateDirectoryA(file, 0);
2014-10-23 17:19 1510创建文件夹CreateDirectoryA(file, 0) ... -
heap corruption detected错误解决方法调试方法以及内存管理相关(转载)
2014-10-23 16:57 1160heap corruption detected错误解决方法调 ...
相关推荐
在VC++编程环境中,我们经常需要处理不同进制之间的转换,比如将16进制的字符串转换成10进制的整数。16进制(Hexadecimal)是一种逢16进1的计数制,它使用数字0到9以及字母A到F来表示数值,而10进制是我们日常生活中...
int Calculate(string formula) 函数功能:输入一个字符串公式string formula,允许四则混合运算,然后输入公式中对应变量的取值,最后返回int类型计算结果。 变量的格式:必须由1位字母加1位数字组成,如a1、b2等...
sscanf 函数是另一种将字符串转换为数字的方法。sscanf 函数的原型为 `int sscanf(const char *buffer, const char *format, ...);`。例如,`char tokenstring[] = "15 12 14..."; sscanf(tokenstring, "%d", &i);` ...
4. **数字与字符的转换**:C++提供了`std::stringstream`或`std::atoi`等库函数,用于在数字和字符串之间转换。 5. **自定义函数**:为了提高代码复用性,可以创建一个函数,接收阿拉伯数字作为参数,返回对应的...
在Microsoft Visual C++环境下,`CString`类是MFC(Microsoft Foundation Classes)库提供的一种方便的字符串处理类,它提供了丰富的字符串...通过理解和熟练掌握这些转换方法,可以更有效地在MFC程序中处理字符串。
在处理GSM编码时,我们可能会遇到如何将GSM编码的字符串转换为其他字符集,如Unicode或ASCII的问题。 在C++中,处理字符串通常涉及到std::string类,它提供了丰富的操作字符串的方法,如插入、删除、查找、比较等。...
C++中十六进制字符串转数字(数值)是指将十六进制字符串转换为数字(数值)的过程。在C++中,存在多种方法来实现十六进制字符串转数字(数值),以下将对这两种常见的方法进行详细的介绍。 方法1:使用sscanf()...
在C/C++编程中,有多个函数可以将字符串转换为不同类型的数值。以下是对这些函数的详细解释: 1. `atof()`:这个函数用于将字符串转换为浮点型数。它会跳过前导的空格,然后读取数字、正负符号、小数点或指数形式...
3. **16进制字符串到整数**:使用`std::stoi()`函数,配合基数16(`std::stoi(hexStr, nullptr, 16)`),将16进制字符串转换为整数。 4. **整数到字符**:将得到的整数与ASCII码表对应,可以使用`char hexChar = ...
在编程领域,字符串转换是日常开发中不可或缺的一部分,尤其是在与数据库交互时。标题提到的“字符串转换的类”提供了一种高效且方便的方式来处理不同格式的字符串,避免了在VC(Visual C++)环境中手动进行繁琐的...
标题"十六进制转十进制VC程序"指出,这是一个使用Visual C++(简称VC)编写的程序,它的功能是将十六进制的数字或字符串转换成等值的十进制形式。这个小程序可能包含一个简单的用户界面,让用户输入十六进制数值或者...
在C++编程中,将二进制字符串转换为十进制数是一项常见的任务,尤其是在处理计算机数据表示或者进行位操作时。在这个问题中,我们主要关注如何在Visual C++环境下实现这一转换。以下是一个详细的过程解释及代码示例...
在处理十六进制字符串时,我们通常会将字符串转换为整数,然后根据需要调整其大小或符号。 在项目"Converter"中,可能包含以下几个关键组件: 1. **十六进制字符串到整型**:这一部分会实现将十六进制字符串解析为...
这就是在VC++环境中,将二进制字符串转换为整数的基本方法。这个过程可以扩展到其他编程语言,只需根据语言特性稍作调整。在处理大量数据或性能敏感的场景下,还可以考虑使用更高效的算法,例如使用位操作。
例如,要将GBK编码的字符串转换为宽字符(UTF-16)字符串,可以这样操作: ```cpp std::string gbkStr = "GBK编码的字符串"; std::wstring wideStr; int len = MultiByteToWideChar(CP_GBK, 0, gbkStr.c_str(), -1,...
在第九章的“POINTERS ON C”中,编程练习16着重于使用格式化字符串来处理数字字符。这涉及到C语言的`printf`函数,它是`stdio.h`库中的一个关键组成部分,用于向标准输出(通常是控制台)打印格式化的数据。 `...
在标题提及的"经典的MD5字符串加密VC 6.0源码"中,我们可以预期源代码会包含以下关键部分: 1. **MD5算法实现**:这通常是一个类或函数,用于计算输入字符串的MD5摘要。它会执行MD5算法的四个主要阶段:初始化,...
例如,如果你有一个包含ASCII数值的列表,你可以通过遍历并调用`ascii_to_char()`将它们转换为可读的字符字符串。反之,如果你需要将一段文本编码成ASCII数值,可以先逐个字符提取,再调用`char_to_ascii()`。 在...
扫描阶段会将输入的JSON字符串转换成内部的抽象语法树(AST),解析阶段则根据AST创建相应的C数据结构。 - 使用库函数,例如json_object_from_string()(json-c库),可以将JSON字符串转换为一个JSON对象。之后,...
在编程领域,字符集和字符串转换是至关重要的概念,特别是在多语言环境和数据传输中。在VC++(Visual C++)开发中,了解并掌握不同的字符集和如何进行字符串转换对于编写兼容性强、效率高的代码至关重要。下面我们将...