将std::string传递给期望char*的函数可以通过以下几种方式实现:
std::string str = "Hello";
someFunction(str.c_str());
std::string str = "Hello";
someFunction(str.data());
需要注意的是,使用c_str()或data()函数传递给期望char*的函数后,确保在函数内部不会修改传递的字符串,以免导致未定义的行为。
std::string str = "Hello";
char* charPtr = new char[str.length() + 1];
std::strcpy(charPtr, str.c_str());
someFunction(charPtr);
delete[] charPtr;
在这种情况下,需要手动分配和释放内存,并使用strcpy()函数将std::string的内容复制到char*中。
以上是将std::string传递给期望char*的函数的几种常见方法。具体使用哪种方法取决于期望函数的要求和使用场景。
领取专属 10元无门槛券
手把手带您无忧上云