VC 数据类型转换:CString, char, int, long, string, byte 之间
4星 · 超过85%的资源 需积分: 50 168 浏览量
更新于2024-09-17
收藏 5KB TXT 举报
本文主要介绍了在VC++环境中不同数据类型之间的转换,特别是涉及到CString、char、int、long、string以及byte等类型之间的相互转换方法。
在VC++编程中,经常需要将不同数据类型进行转换,以便于数据处理和传递。以下是一些常见的转换示例:
1. `int`转`CString`:
```cpp
int n = 1;
CString str;
str.Format("%d", n);
```
这里通过`Format`函数将整型变量`n`转换成以字符串形式表示的`CString`。
2. `CString`转`int`:
```cpp
CString str = "1";
int n = atoi(str.GetBuffer(0));
```
使用`GetBuffer(0)`获取`CString`的字符缓冲区,然后用`atoi`函数将其转换为整型。
3. `char*`转`CString`:
```cpp
char sz[128];
CString str;
str.Format("%s", sz);
```
将C风格字符串`sz`通过`Format`函数转化为`CString`。
4. `CString`转`char*`:
```cpp
CString str;
int nLength = str.GetLength();
char* sz = new char[nLength];
sz = str.GetBuffer(0);
// 或者使用C++标准库的函数
strcpy_s(sz, nLength, str);
```
使用`GetBuffer(0)`获取`CString`的缓冲区,并通过`strcpy_s`复制到`char*`。
此外,还展示了如何构建XML字符串的例子,涉及到字符串拼接操作:
```cpp
CString strTemp = "<?xml";
CString strSpace = "";
CString strVersion = "version='1.0'";
CString strEncoding = "encoding='gb2312'?>";
CString strXml = strTemp + strSpace + strVersion + strEncoding;
```
以及使用`strtok`函数进行字符串分割的示例:
```cpp
int nLength = strXml.GetLength();
char* sz = new char[nLength];
sz = strXml.GetBuffer(0);
char* p;
char* sign = 0;
sign = new char[2];
memset(sign, 0, 2);
strcpy(sign, ">");
int i = 0;
p = strtok(sz, sign);
while (p) {
// 处理分割后的子串
}
```
这段代码中,`strtok`函数用于根据分隔符`>`将`strXml`字符串拆分成多个子串。
这些转换方法在VC++开发中非常常见,熟练掌握这些转换技巧可以提高编程效率并避免潜在的类型匹配错误。
2010-08-23 上传
2019-07-30 上传
2012-12-11 上传
2009-04-27 上传
2012-06-14 上传
2011-07-20 上传
2010-05-10 上传
batman322
- 粉丝: 1
- 资源: 8
最新资源
- Beginning ASP.NET 2.0 AJAX.(AJAX入门经典 英文版)
- 数据库_SQL语法大全中文版
- Java JDK6学习笔记.pdf
- 嵌入式MP3播放器的设计.pdf
- 软件设计师考试09版大纲与04版大纲比较分析
- SQL语句学习手册实例版
- ns2下make file中文教程
- java中对日期的操作
- ns2学习笔记!!!!!!!
- 提高RS485总线主从通信效率的软件设计
- 多功能电子表 数字频率计 交通灯控制器 源程序集
- Managed DirectX9.0 SDK Summer2004 中文文档
- 计算机控制系统 - pdf课件 - 第七章
- 一个科学新领域_开放的复杂巨系统及其方法论
- 计算机控制系统 - pdf课件 - 第六章
- 计算机控制系统 - pdf课件 - 第五章