MFC中各种字符串的转化

1.LPCSTR与CString相互转化

Cstring strHello;
strHello=”Hello world”;
LPCSTR lpStr=(LPCSTR)strHello;
Cstring str2;
str2=(CString)lpStr;


另外,Cstring类有一成员函数Format,可以用来把类型转换成Cstring类型,以上lpStr转换成Cstring可以这样表示:


str2.Format(“%s”,lpStr);

 

2. CHAR[]与CString转化

用strcpy函数来进行,strCpy的函数原型如下:
LPTSTR StrCpy(LPTSTR psz1,LPCTSTR )
它们之间的转换如下:

CHAR strChar[200]
StrCpy(strChar,(LPCTSTR)strHello);
Cstring str2 = (CString)strChar; //或者用Format函数

 

3. 字符串与其它类型相互转化

              字符串转换成其它类型

             

              Double atof(char* string);

              Double wtof(const wchar_t* string);
              int atoi(const char* string);
              _int64 _atoi64(const char* string)

              int wtoi(const wchar_t* string);
              int64 wtoi64(const wchar_t* string);
              long atol(const char* string);
              long wtol(const wchar_t* string);


 

              举例:


              char* s=”-2309.12E-15”;
              double x=atof(s);   //out:-2309120E-012
              s=”-9885 pigs”;
              int I=atoi(s);              //out:-9885
 

 

 

              其它类型转换成字符型:


              char* itoa(int value,char* string,int radix);
              char* i64toa(int64 value,char* string,int radix);
              char* ui64toa(unsigned int64 value,char* string,int radix);
              wchar_t * itow(int value, wchar_t string, int radix);
              char* _ltoa(long value,char* string,int radix);

             

              举例:

              int i=100;
              itoa(i,temp,10); //十进制
              itoa(i,temp,2); //二进制

             

              Cstring str;

              Str.Fomat(“%d”,i); //整型to Cstring
              Str.Format(“%f”,f); //Float to CString

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在 MFC ,可以使用 CString 类来实现将 int 数组转换字符串的操作。以下是示例代码: ```c++ int arr[] = {1, 2, 3, 4, 5}; CString str; for (int i = 0; i < sizeof(arr)/sizeof(int); i++) { CString temp; temp.Format(_T("%d"), arr[i]); str += temp; if (i != sizeof(arr)/sizeof(int) - 1) { str += _T(", "); } } ``` 上述代码,首先定义了一个 int 数组 arr,然后定义了一个 CString 类型的变量 str 来存储转换后的字符串。接着使用 for 循环遍历数组的每一个元素,使用 CString 的 Format 方法将每个元素转换字符串类型,并将其添加到 str 变量。最后,如果不是最后一个元素,则在元素后面添加一个逗号和空格。 需要注意的是,上述代码使用了 _T 宏来进行字符转换,因此在编译时需要选择正确的字符集。另外,也可以使用其他方法来将 int 数组转换字符串,如使用 stringstream 等。 ### 回答2: 在MFC把int数组转化字符串,我们可以使用CString类来实现。 首先,我们需要定义一个int类型的数组,假设为intArray,以及一个空的CString变量str。 然后,我们使用一个循环遍历int数组的每个元素,并将每个元素转换字符串类型,并使用CString类的+=运算符将转换后的字符串追加到str变量。 具体的代码如下所示: ```cpp int intArray[] = {1, 2, 3, 4, 5}; // 定义int数组 CString str; // 定义空的CString变量 for(int i = 0; i < sizeof(intArray) / sizeof(int); i++) { CString temp; temp.Format(_T("%d"), intArray[i]); // 将int类型转换为CString类型 str += temp; // 追加到str变量 } 现在,int数组已被转化字符串,并存储在str变量。您可以使用str变量进行进一步的处理或显示。 注意:上述方法假设使用的是Unicode字符集。如果使用的是多字节字符集,请将temp.Format(_T("%d"), intArray[i])修改为temp.Format("%d", intArray[i])。 ``` ### 回答3: 在MFC将int数组转化字符串可以通过以下步骤实现: 1. 定义一个int数组并进行赋值,例如int numbers[] = {1, 2, 3, 4, 5}; 2. 创建一个CString对象,用于存储转换后的字符串,例如CString str; 3. 使用循环遍历int数组,并将每个元素转换字符串并添加到CString对象,例如: for (int i = 0; i < sizeof(numbers) / sizeof(numbers[0]); i++) { CString temp; temp.Format(_T("%d"), numbers[i]); str += temp; } 这里使用了Format函数,其_T("%d")是格式化字符串表示整数,将每个元素转换字符串形式。 4. 最后,输出转换后的字符串,可以使用AfxMessageBox函数弹出消息框进行显示,例如: AfxMessageBox(str); 或者使用CString的GetBuffer获取字符串缓冲区,然后再输出,例如: MessageBox(NULL, str.GetBuffer(), _T("Converted String"), MB_OK); 注意,在使用GetBuffer之后,还需要使用ReleaseBuffer来释放缓冲区。 通过上述步骤,即可将int数组成功转换字符串,并在MFC应用程序进行显示或处理。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值