CString jobname;char* tempjobnm=T2A(jobname.GetBuffer(0));如果jobname变为string如何改写
时间: 2024-09-16 08:06:05 浏览: 54
C++中CString string char* char 之间的字符转换(多种方法)
如果你有一个`std::string`类型的变量`jobname`,而你想将其转换为C风格的`char*`指针,你可以使用`std::string`的`c_str()`成员函数。这里是相应的代码示例:
```cpp
std::string jobname;
char* tempjobnm = jobname.c_str(); // 将std::string转换为const char*
```
请注意,`c_str()`返回的是指向内部存储的常量字符数组的指针。如果你需要可修改的字符数组,可以先复制`jobname`的内容到一个新的动态分配的缓冲区:
```cpp
std::string jobname;
std::unique_ptr<char[]> tempjobnm(new char[jobname.size() + 1]); // 为可能的终止符'\0'预留空间
memcpy(tempjobnm.get(), jobname.c_str(), jobname.size());
tempjobnm[jobname.size()] = '\0'; // 添加终止符
```
这样,`tempjobnm`就是一个可以修改的`char*`。
阅读全文