将std::string传递给期望char*的函数可以通过以下几种方式实现: 使用c_str()函数:std::string类提供了一个成员函数c_str(),它返回一个指向以null结尾的字符数组(即C风格字符串)的指针。可以将这个指针传递给期望char*的函数。例如: 代码语言:cpp 复制 ...
char*c=const_cast<char*>(str.c_str()); std::cout<<c; return0; } 下載運行代碼 輸出: std::string to char* 2.使用strcpy()功能 在這裡,想法是通過const char*由返回string::c_str或者string::data的功能strcpy()函數,它在內部將其複製到指定的字符數組中並返回一個指針。
string的c_str()也是非常常用的,但要注意和char *转换时,要把char定义成为const char*,这样是最安全的。 另外,CString 可能是 CStringW/CStringA,在与 string 转换时,如果是 CStringW,还涉及编码转换问题。下面以 CStringA 来说明。 1 string to CString CString.format("%s",string.c_str()); CStringA =...
char*与CString 【例5】 [cpp]view plaincopy void pCharToCString() { //from char* to CString char *ch = "char pointer."; CString cStr1 = ch; CString cStr2 = CString(ch); printCString(cStr1); printCString(cStr2); //from CString to char* CString cstr = "CString"; char* chs=cstr...
char * 可以转string,直接赋值即可。不能单独赋int和c字符类型值。 string s1("demo1"); string s1 = "demo"; char *p = "demo"; s1 = p; string转char*有三种方式:c_str(),data(),copy() c_str()返回一个c风格的字符数组,带有'\0'结束 ...
Char * 专门用于指以'\0'为结束的字符串. 以下方法来进行转换: // CharConvert.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #include<iostream> #include<afx.h> #include<string> using namespace std; int _tmain(int argc, _TCHAR* argv)...
If you just want to pass a std::string to a function that needs const char *, you can use .c_str(): std::string str; const char * c = str.c_str(); And if you need a non-const char *, call .data(): std::string str; char * c = str.data(); .data() was added ...
你可以使用C风格字符串来初始化String对象,只需将C风格字符串传递给String类的构造函数,如下所示:const char* cString = "Hello, C++";string cppString(cString); // 使用C风格字符串初始化String对象 使用赋值运算符 还可以使用赋值运算符(=)将一个String对象的值赋给另一个String对象,如下所示:string ...
You can convert the System::String to a std::string via: // Requires: #include <msclr/marshal_cppstd.h> auto str = msclr::interop::marshal_as<std::string>(txtBoxPath->Text); Once you have a std::string, then c_str() will provide you the const char*: const char* cPath = ...
您可以使用 Vcclr.h 中的PtrToStringChars,將String轉換為原生 (Native) wchar_t * 或 char *。 這一定會傳回寬 Unicode 字串指標,因為內部的 CLR 字串即為 Unicode。 接著,您可以轉換寬指標,如下列範例所示。 範例 // convert_string_to_wchar.cpp // compile with: /clr #include < stdio...