c#字符串到非托管c++;动态链接库
我需要写一些像这样的东西c#字符串到非托管c++;动态链接库,c#,c++,C#,C++,我需要写一些像这样的东西 switch (nameOfType) { case "burk": return "zzzz"; 我的C++ DLL(我需要这个来比较类型名) 其中,nameOfType是来自c#(通过DLLImport)的字符串 但是我在C++中是全新的,我必须使用什么类型的C++来操作字符串,就像C语言中的一样?< p> C++中最简单的字符串是空终止字符数组。您通常可以将托管字符串从C#封送到const char*类型 你所发布的代码将不能在C++中工作。C++
switch (nameOfType)
{
case "burk":
return "zzzz";
<>我的C++ DLL(我需要这个来比较类型名)
其中,nameOfType是来自c#(通过DLLImport)的字符串
但是我在C++中是全新的,我必须使用什么类型的C++来操作字符串,就像C语言中的一样?< p> C++中最简单的字符串是空终止字符数组。您通常可以将托管字符串从C#封送到
const char*
类型
<>你所发布的代码将不能在C++中工作。C++中的开关语句只允许将整数类型作为操作数。获取所需内容的最简单方法是重复如果
:
if (strcmp(nameOfType, "burk") == 0)
return "zzzz";
else if (strcmp(nameOfType, "xyz") == 0)
return "yyyy";
else ...
如果您需要更多的字符串功能,您应该考虑使用<代码> STD::String 类。它支持正常的搜索、比较、插入和子字符串操作。
C/C++中最简单的字符串是以NULL结尾的字符数组。您通常可以将托管字符串从C#封送到const char*
类型
<>你所发布的代码将不能在C++中工作。C++中的开关语句只允许将整数类型作为操作数。获取所需内容的最简单方法是重复如果
:
if (strcmp(nameOfType, "burk") == 0)
return "zzzz";
else if (strcmp(nameOfType, "xyz") == 0)
return "yyyy";
else ...
如果您需要更多的字符串功能,您应该考虑使用<代码> STD::String 类。它支持正常的查找、比较、插入和子串操作。
< P>在C++中,不能像C语言那样使用“代码> char */CODE”。您可以做的一件事是用枚举替换它enum StringEnum { burk , foo , bar };
map<string,StringNum> m;
m["burk"] = burk;
m["foo"] = foo;
m["bar"] = bar;
< C++ > C++中的转换语句中,不能使用<代码> char */COD>。您可以做的一件事是用枚举替换它
enum StringEnum { burk , foo , bar };
map<string,StringNum> m;
m["burk"] = burk;
m["foo"] = foo;
m["bar"] = bar;
等等