C++ 中int,char,string,CString类型转换(一)
1. c++中string到int的转换
1) 在C标准库里面,使用atoi:
#include <cstdlib>
#include <string>
std::string text = "152";
int number = std::atoi( text.c_str() );
if (errno == ERANGE) //可能是std::errno
{
//number可能由于过大或过小而不能完全存储
}
else if (errno == ????)
//可能是EINVAL
{
//不能转换成一个数字
}
2) 在C++标准库里面,使用stringstream:(stringstream 可以用于各种数据类型之间的转换)
#include <sstream>
#include <string>
std::string text = "152";
int number;
std::stringstream ss;
ss << text;//可以是其他数据类型
ss >> number; //string -> int
if (! ss.good())
{
//错误发生
}
ss << number;// int->string
string str = ss.str();
if (! ss.good())
{
//错误发生
}
3) 在Boost库里面,使用lexical_cast:
#include <boost/lexical_cast.hpp>
#include <string>
try
{
std::string text = "152";
int number = boost::lexical_cast< int >( text );
}
catch( const boost::bad_lexical_cast & )
{
//转换失败
}
2.string 转 CString
CString.format(”%s”, string.c_str());
用c_str()确实比data()要好;
3.char 转 CString
CString.format(”%s”, char*);
4.char 转 string
string s(char *);
只能初始化,在不是初始化的地方最好还是用assign().
5.string 转 char *
char *p = string.c_str();
6.CString 转 string
string s(CString.GetBuffer());
GetBuffer()后一定要ReleaseBuffer(),否则就没有释放缓冲区所占的空间.
7.字符串的内容转换为字符数组和C—string
(1) data(),返回没有”\0“的字符串数组
(2) c_str(),返回有”\0“的字符串数组
(3) copy()
8.CString与int、char*、char[100]之间的转换
(1) CString互转int
将字符转换为整数,可以使用atoi、_atoi64或atol。而将数字转换为CString变量,可以使用CString的Format函数。如
CString s;
int i = 64;
s.Format(”%d”, i)
Format函数的功能很强,值得你研究一下。
void CStrDlg::OnButton1()
{
CString
ss=”1212.12″;
int temp=atoi(ss);
CString aa;
aa.Format(”%d”,temp);
AfxMessageBox(”var is ” + aa);
}
(2) CString互转char*
///char * TO cstring
CString strtest;
char * charpoint;
charpoint=”give string a value”; //?
strtest=charpoint;
///cstring TO char *
charpoint=strtest.GetBuffer(strtest.GetLength());
(3) 标准C里没有string,char *==char []==string, 可以用CString.Format(”%s”,char *)这个方法来将char *转成CString。
要把CString转成char *,用操作符(LPCSTR)CString就可以了。
CString转换 char[100]
char a[100];
CString str(”aaaaaa”);
strncpy(a,(LPCTSTR)str,sizeof(a));
分类: C++
分享到:
相关推荐
CString、int、string、char之间的转换是C/C++编程中经常遇到的问题,特别是在使用MFC框架时。了解这些类型之间的转换是非常重要的。本文将详细介绍CString、int、string、char之间的转换方法,并提供实例代码。 一...
标题提到的"datatype-transform.rar_C++ CString CHAR_CString_char int 转换_char"着重于C++中`int`、`char`、`std::string`以及`CString`类型的相互转换。`CString`是Microsoft MFC(Microsoft Foundation Classes...
### VC、C++ 中 CString, int, string, char 之间的转换 在 C++ 开发过程中,数据类型之间的转换是常见的需求之一。对于 VC(Visual C++)开发环境来说,掌握不同字符串类型之间的转换方法尤为重要。本文将详细介绍...
字符串转换 ...CString 是 MFC 框架中非常重要的类,可以将各种数据类型转换成 CString,提供了多种构造函数和成员函数以满足不同的需求。了解 CString 的使用可以帮助开发者更好地处理字符串操作。
本文将详细探讨`CString`、`int`、`string`、`char`及其数组之间的转换方法,这对于理解和处理不同类型字符串数据尤为重要。 #### 1. `char`到`CString`的转换 `char`类型的单个字符或`char*`(字符指针)可以直接...
在IT领域,字符串类型转换是编程中非常基础且重要的部分,尤其在处理不同编码、数据类型转换时,掌握各种string类型的转换方法对于提高程序的健壮性和灵活性至关重要。以下将详细解析从给定文件中提取出的关于“各种...
在"Char_Cstring_TCHAR.rar_C++ CString CHAR_Char_Cstring_TCHAR_TCHAR"这个压缩包中,包含的资源可能是一些示例代码,用于演示如何在这些类型之间进行转换。让我们深入探讨这些概念: 1. **CHAR**: `CHAR`是C++...
在 C++ 中,数字可以用 int、float、double 等类型表示,而字符串可以用 char[]、string 等类型表示。 将 int 类型的 16 进制数转换成 string 类型 在问题中,我们看到的是如何将 int 类型的 16 进制数转换成 ...
c_str函数是string类中的一个函数,它返回const char*类型的指针,指向字符串的字符数组。这个函数非常重要,因为它可以将string类型转化为char*类型。 const char *cfirst = add_to.c_str(); const char *csecond ...
### CString、int、string、char 之间的转换 在软件开发过程中,尤其是使用 C++ 进行 Windows 应用程序开发时,数据类型的转换是经常遇到的问题。本文将详细介绍 CString、int、string 和 char 之间的相互转换方法...
`CString`、`int`、`string`以及`char`之间的转换是VC++(Visual C++)开发过程中经常会遇到的问题。本篇文章将详细讲解这些类型间的转换方法。 首先,我们来看`CString`类,这是Microsoft MFC库中的一个类,用于...
根据所提供的代码片段和描述,本文将详细解析几种常见的数据类型转换方法,包括`string`、`wstring`、`cstring`、`char`、`tchar`、`int`、`dword`之间的转换。 ### 1. `string`与`wstring`之间的转换 #### `...
本文将深入探讨字符数组(char*)与C++中的Cstring之间的转换方法,以及更广泛的几种数据类型(如int、float)与CString之间的转换技巧。这不仅适用于C++程序员,对于任何需要在不同数据类型间进行转换的开发者来说...
`CString`、`wchar_t`、`int`、`string`和`char*`都是编程中常用的字符串和数值类型,它们之间互相转换有助于在不同场景下灵活地处理数据。本篇文章将详细介绍这些类型之间的转换方法。 首先,`CString`是Microsoft...
本文将详细介绍VC中不同数据类型之间转换的方法,特别是`CString`与`char`、`int`、`long`、`string`和`byte`等类型的相互转换。 #### `int`到`CString`的转换 当需要将整型变量转换为`CString`时,可以使用`...
C++语言中有多种字符类型,例如char*、char[]、string、CString等,每种类型都有其特点和应用场景。本文将详细介绍这些字符类型之间的转换方法,以便更好地在C++开发中进行字符串处理。 一、char*与char[]之间的...
本文将详细介绍C++中常见的类型转换,包括IP地址转换、CString类型转换、float、int、double类型转换、string类型转换等。 1. IP地址转换 在C++中,IP地址可以用CString类型来表示。为了将IP地址转换为CString类型...
CString、string、char*都是C++中常用的字符串类型,但是它们之间的转换却是很多程序员感到困惑的地方。下面我们将详细介绍CString、string、char*之间的字符转换。 首先,我们需要了解CString、string、char*的...
另外,`CString`还提供了`LPCTSTR`类型转换操作符,可以直接作为`const char*`使用,但不能修改: ```cpp CString str = _T("Hello, World!"); const char* cStr = str; // 只读访问... ``` 接下来,我们看看如何...
在C++编程中,特别是在Windows应用程序开发过程中,经常遇到多种字符类型及字符串类的选择与转换问题。本文将深入探讨`char`、`TCHAR`、`CString`以及`std::string`之间的区别和联系,并提供一些实用的转换方法。 #...