`
gstarwd
  • 浏览: 1536514 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

string char*之类的相互转换

阅读更多

1 CString,int,string,char*之间的转换 
string 转 CString 
CString.format("%s", string.c_str()); 

char 转 CString 
CString.format("%s", char*); 

char 转 string 
string s(char *); 

string 转  const char * 
char *p = string.c_str();
 

 //  CString转std::string
 CString str = dlg.GetPathName();
 setlocale(LC_ALL, "chs");
 char *p = new char[256];
 wcstombs( p, str, 256 );
 m_fileName = p;

1,string -> CString 
CString.format("%s", string.c_str()); 
用c_str()确实比data()要好. 
2,char -> string 
string s(char *); 
你的只能初始化,在不是初始化的地方最好还是用assign(). 
3,CString -> string 
string s(CString.GetBuffer()); 
GetBuffer()后一定要ReleaseBuffer(),否则就没有释放缓冲区所占的空间. 


《C++标准函数库》中说的 
有三个函数可以将字符串的内容转换为字符数组和C—string 
1.data(),返回没有”\0“的字符串数组 
2,c_str(),返回有”\0“的字符串数组 
3,copy() 


CString互转int 

将字符转换为整数,可以使用atoi、_atoi64或atol。 
而将数字转换为CString变量,可以使用CString的Format函数。如 
CString s; 
int i = 64; 
s.Format("%d", i) 
Format函数的功能很强,值得你研究一下。 

void CStrDlg::OnButton1() 

// TODO: Add your control notification handler code here 
CString 
ss="1212.12"; 
int temp=atoi(ss); 
CString aa; 
aa.Format("%d",temp); 
AfxMessageBox("var is " + aa); 

sart.Format("%s",buf); 

CString互转char* 

///char * TO cstring 
CString strtest; 
char * charpoint; 
charpoint="give string a value"; 
strtest=charpoint; 


///cstring TO char * 
charpoint=strtest.GetBuffer(strtest.GetLength()); 

标准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)); 
2 CString类型的转换成int 
CString类型的转换成int 
将字符转换为整数,可以使用atoi、_atoi64或atol。 

//CString aaa = "16" ;
//int int_chage = atoi((lpcstr)aaa) ; 


而将数字转换为CString变量,可以使用CString的Format函数。如 
CString s; 
int i = 64; 
s.Format("%d", i) 
Format函数的功能很强,值得你研究一下。 
如果是使用char数组,也可以使用sprintf函数。

//CString ss="1212.12"; 
//int temp=atoi(ss); 
//CString aa; 
//aa.Format("%d",temp); 


数字->字符串除了用CString::Format,还有FormatV、sprintf和不需要借助于Afx的itoa 

3 char* 在装int 
#include <stdlib.h>
 
int atoi(const char *nptr);
long atol(const char *nptr);
long long atoll(const char *nptr);
long long atoq(const char *nptr); 

4 CString,int,string,char*之间的转换 
string aa("aaa");
char *c=aa.c_str();


cannot convert from 'const char *' to 'char *'
const char *c=aa.c_str(); 

5 CString,int,string,char*之间的转换 
string.c_str()只能转换成const char *,
要转成char *这样写:

string mngName;
char t[200]; memset(t,0,200); strcpy(t,mngName.c_str()); 

分享到:
评论

相关推荐

    CString string char * int double float 之间转化大全

    CString string char * int double float 之间转化大全 CString、string、char*、int、double、float 是编程中常用的数据类型,了解它们之间的转化关系非常重要。在本文中,我们将详细介绍 CString、string、char* ...

    C++中string转换为char*类型返回后乱码问题解决

    2. 将string定义为类的成员变量,然后将其转换为char*类型。 下面是具体的示例代码: ```cpp char *result = new char[res.length() + 1]; //定义需要返回的result对象 for (int i = 0; i (); ++i){ result[i] =...

    VC之CString,wchar_t,int,string,char*之间的转换

    `CString`、`wchar_t`、`int`、`string`和`char*`都是编程中常用的字符串和数值类型,它们之间互相转换有助于在不同场景下灵活地处理数据。本篇文章将详细介绍这些类型之间的转换方法。 首先,`CString`是Microsoft...

    string,CString,char之间的转化.doc

    在编程中,字符串处理是常见的任务之一,特别是在C++中,我们经常会遇到`string`、`CString`和`char`之间相互转换的需求。这些数据类型分别代表了不同的字符串处理方式,理解它们之间的转换方法对于编写高效且无误的...

    (const) char 转CString 详解(字符串类型转换详解,不断补充)

    从`const char *`到`CString`的转换通常较为直接,因为`CString`的构造函数会自动处理这类转换。然而,从`CString`返回到`const char *`时,需要特别注意,因为`CString`对象实际上管理着自己的内部缓冲区。直接将`...

    CString,string,char的综合比较

    - **CString** (通过 typedef 定义为 `CStringT, StrTraitMFC&lt;TCHAR&gt;&gt;`) 是 Visual C++ 中最常用的字符串类之一,它继承自 `CSimpleStringT` 类,主要应用在 MFC 和 ATL 编程中。`CString` 支持多种字符类型,如 `...

    转 String,CString,TCHAR,char之间区别和联系

    本文将深入探讨`char`、`TCHAR`、`CString`以及`std::string`之间的区别和联系,并提供一些实用的转换方法。 #### 1. `char` `char`是最基本的字符类型之一,在大多数系统中,它占用1字节的空间。`char`类型通常...

    C++各种字符串类型之间进行转换

    - **`basic_string`**:C++标准库中的模板类,可以用于创建任何字符类型(如`char`、`wchar_t`等)的动态字符串对象。 #### 2. `char *`到其他类型字符串的转换 ##### 2.1 `char *`转`wchar_t *` 为了将`char *`...

    各种 C++ 字符串类型转换

    本文将详细介绍几种常用的C++字符串类型(`char *`、`wchar_t*`、`_bstr_t`、`CComBSTR`、`CString`、`basic_string` 和 `System.String`)之间的转换方法,并通过示例代码加以解释。 #### 1. `char *` 类型转换 `...

    cstring的相关知识.docx

    - **CString与char*相互转换**: - 使用`CString::GetBuffer/SetBuffer`。 - 直接赋值,如`char* str = CStringVar;`。 - **CString与BSTR型转换**: - 使用`SysAllocString`和`SysFreeString`进行转换。 - **...

    C++字符串输入

    本文旨在深入探讨C++中字符串输入的各种方法,并对比C风格字符串与`std::string`类的不同之处。 #### C++字符串类型简介 在C++中,字符串被封装为一种名为`std::string`的数据类型,这使得字符串操作变得更加直观...

    库函数说明

    11. **`extern int vsprintf(char *, const char *, char *);`** - **功能**:将数据送入内存缓冲区,支持可变参数列表。 - **参数**:目标地址、格式字符串、字符数组。 - **应用场景**:动态构建格式化字符串。...

    零点起飞学C之文本处理——string类PPT学习教案.pptx

    《零点起飞学C之文本处理——string类详解》 在C++编程中,文本处理是一项基础且重要的任务,而C++中的`std::string`类则是处理文本数据的得力工具。`string`类提供了丰富的功能,使得操作字符串变得更加方便和安全...

    C++编程之CString、string与、char数组的转换

    C++编程之CString、string与char数组的转换 C++编程中CString、string和char数组之间的转换是非常重要的知识点,因为它们都是字符串类型,但是它们之间的转换却不是那么直接。本文将详细介绍CString、string和char...

    StdString类代码,可完善替代CString字符串类

    4. **转换为其他类型**:如果需要与其他类型交互,如`char*`或`const char*`,可以使用`StdString`的转换函数。 5. **异常处理**:编写异常处理代码,确保在遇到错误时能妥善处理。 总之,`StdString`作为一个增强...

    Java的String类

    在Java编程中,`String`类是最常用的数据类型之一,用于处理文本数据。它是一个不可变类,意味着一旦创建了一个`String`对象,其内容就不能更改。这使得`String`类在多线程环境中非常安全,同时也带来了一些性能上的...

    c++ 整形转换string型

    在C++编程语言中,类型转换是常见的需求之一,尤其在处理数字与字符串之间的相互转换时更为频繁。本文将深入探讨如何将整型(int)转换为字符串类型(string),并提供一种具体的方法实现。 ### 标题解读:C++ 整型...

    C++_String

    **1.6.4 `std::string` 与 `std::wstring` 的相互转换** 可以使用标准库函数进行转换。 **示例代码**: ```cpp std::string s = "Hello World!"; std::wstring ws(s.begin(), s.end()); ``` --- #### 1.7 `std::...

    java中的String类常用方法解析(一)

    在Java编程语言中,`String`类是使用最频繁的类之一,它代表不可变的字符序列。本文将深入解析`String`类的一些常用方法,帮助开发者更好地理解和使用这个核心类。 1. **构造方法** - `String()`:创建一个空字符...

Global site tag (gtag.js) - Google Analytics