c++17中常用的字符串类型转换
- const unsigned char*类型的转换为std::string
#include <iostream>
#include <string>
int main() {
const unsigned char* data = "Hello, World!";
std::string str(reinterpret_cast<const char*>(data));
std::cout << "String: " << str << std::endl;
return 0;
}
- const char*类型的转换为std::string 或 char[]数组转string
int main() {
const char* cString = "Hello, World!";
std::string cppString(cString);
std::cout << cppString << std::endl;
return 0;
}
- string转 const char*
#include <iostream>
#include <string>
int main() {
std::string cppString = "Hello, World!";
const char* cString = cppString.c_str();
std::cout << cString << std::endl;
return 0;
}
- c++17 string 转 const unsigned char*
#include <iostream>
#include <string>
int main() {
std::string cppString = "Hello, World!";
const unsigned char* ucharPtr = reinterpret_cast<const unsigned char*>(cppString.c_str());
for (size_t i = 0; i < cppString.length(); ++i) {
std::cout << static_cast<unsigned int>(ucharPtr[i]) << " ";
}
std::cout << std::endl;
return 0;
}