C++类型转换总结:字符串、整数、浮点数、CString、BSTR等

4星 · 超过85%的资源 需积分: 17 34 下载量 147 浏览量 更新于2024-07-28 2 收藏 708KB PDF 举报
C++类型转换详解 C++语言中,类型转换是非常重要的一部分,它可以将不同类型的数据转换成字符串或其他类型,以满足不同的需求。在本文中,我们将详细介绍C++类型转换的方法和技巧。 通用方法 使用sprintf函数可以将各种类型的数据转换成字符串。例如: ```c char buffer[200]; char c = '1'; int i = 35; long j = 1000; float f = 1.7320534f; sprintf(buffer, "%c", c); sprintf(buffer, "%d", i); sprintf(buffer, "%ld", j); sprintf(buffer, "%f", f); ``` 整数类型转换 对于整数类型,可以使用itoa函数将其转换成字符串。例如: ```c char temp[10]; int i = 35; itoa(i, temp, 10); // 十进制转换 itoa(i, temp, 2); // 二进制转换 ``` 对于长整型,可以使用ltoa函数将其转换成字符串。例如: ```c char temp[10]; long j = 1000; ltoa(j, temp, 10); // 十进制转换 ``` 浮点数类型转换 对于浮点数类型,可以使用_fcvt函数将其转换成字符串。例如: ```c char* buffer; double source = 3.1415926535; int decimal, sign; buffer = _fcvt(source, 7, &decimal, &sign); ``` CString变量转换 对于CString变量,可以使用LPSTR类型将其转换成字符串。例如: ```c CString str = "2008北京奥运"; LPSTR buf = (LPSTR)(LPCTSTR)str; ``` BSTR变量转换 对于BSTR变量,可以使用ConvertBSTRToString函数将其转换成字符串。例如: ```c BSTR bstrValue = ::SysAllocString(L"程序员"); char* buf = _com_util::ConvertBSTRToString(bstrValue); SysFreeString(bstrValue); ``` CComBSTR变量转换 对于CComBSTR变量,可以使用ConvertBSTRToString函数将其转换成字符串。例如: ```c CComBSTR bstrVar("test"); char* buf = _com_util::ConvertBSTRToString(bstrVar.m_str); ``` CString成员函数Format CString提供了Format成员函数,可以将整数、浮点数等类型转换成字符串。例如: ```c CString str; int i = 35; str.Format("%d", i); // 整数转换 float f = 3.1415926535; str.Format("%f", f); // 浮点数转换 ``` 字符串转换 字符串可以使用strcpy函数将其转换成其他类型。例如: ```c char temp[10]; strcpy(temp, "123"); ``` 可以使用atoi函数将字符串转换成整数。例如: ```c char temp[10]; strcpy(temp, "123"); int i = atoi(temp); ``` 可以使用atol函数将字符串转换成长整数。例如: ```c char temp[10]; strcpy(temp, "123"); long l = atol(temp); ``` C++类型转换提供了多种方法来将不同类型的数据转换成字符串或其他类型,以满足不同的需求。