String 如何在参数中使用变量

String 如何在参数中使用变量,string,variables,c++-cli,String,Variables,C++ Cli,我需要知道如何在参数中使用变量 该过程被初始化为 类参数中的字符串进程 Process::GetProcessesByName("") 当我用变量替换字符串时,会出现一个错误 Process::GetProcessesByName(PROCESS) 我得到的错误是: 重载函数“System::Diagnostics::Process::GetProcessByName”的任何实例都不匹配参数列表参数类型是(std::string)我认为GetProcessByName可以将参数作为LPSTR

我需要知道如何在参数中使用变量 该过程被初始化为 类参数中的字符串进程

Process::GetProcessesByName("")
当我用变量替换字符串时,会出现一个错误

Process::GetProcessesByName(PROCESS)
我得到的错误是:
重载函数“System::Diagnostics::Process::GetProcessByName”的任何实例都不匹配参数列表参数类型是(std::string)

我认为
GetProcessByName
可以将参数作为
LPSTR
char const*
,而不是
std::string

试用

Process::GetProcessesByName(PROCESS.c_str());
或者,如果您的进程定义为
std::string进程,

   String^ process_name = gcnew String(PROCESS.c_str());
   Process::GetProcessesByName(process_name);

我正在使用名称空间System::Diagnostics;这是C++的.NET吗?进程是一个STD::String或String:C++和进程是STD::String是什么?<代码> GETProcess ByNAM< <代码>?对于每个进程(进程:进程::GetProcessesByName(进程)){Stras:::Process::GoGrocyByNeMy“匹配参数列表参数类型为(conchchar))如果它需要一个
char常量*
,那么
std::string::c_str()
应该可以工作。请尝试
Process::GetProcessByName(Process.c_str());
。如果它不工作,错误消息是什么?错误是“System::Diagnostics::Process::GetProcessByName”匹配参数列表参数类型是(const char*)要从
std::String
获取
System::String^
,请尝试
String str=“test”;String^str2=gcnew String(str.c_str());