【发布时间】:2022-08-12 01:00:59
【问题描述】:
虽然我很了解 C,但在 C++/CLI 中将 char 数组复制到 System::String(不是 C++ std::string)时遇到问题。
我正在(第一次)使用 Visual Studio 及其拖放式表单设计功能来创建 C++ Windows GUI 程序。该程序主要工作,但我无法将 char 数组(使用 sprintf 创建)复制到 System::String(许多 Visual Studio 控件使用的类型)。
我试着写这个函数:
private: System::String^ cts(char *aa) { // convert char[] to String
int i;
String^ s;
s = \"\";
for (i = 0; aa[i]; i++)
s = s + aa[i];
return s;
}
但是 cts(\"h\") 返回 \"104\" (小写 h 的 ASCII 码),我希望它以字符串格式返回 \"h\"。
帮助将不胜感激。
-
欢迎来到堆栈溢出。请确保您准确了解您使用的语言以及任何第三方库。 C++ 标准库没有
System命名空间,^不是类型语法的一部分。我的猜测是您使用this thing,即不是C++。 -
\"我第一次使用 Visual Studio 及其拖放式表单设计功能来创建 C++ Windows GUI 程序。\" 好的;但这与你问的问题?请阅读How to Ask,并尽量将背景信息集中在为了理解问题需要什么.另外,请确保问一个问题; “我们将不胜感激”does not qualify。
-
谢谢,卡尔。是的,我不知道我在使用 C++/CLI,我没有听说过,并通过观看有关创建 Visual Studio 项目的 YouTube 视频选择了它。但这解释了我不认识的结构,因为我最后一次(只是一次)C++ 工作是多年前,我的主要经验是 C 编程。关于“第一次使用 Visual Studio”,我这样写是为了让读者理解环境和语法对我来说是新的,尽管我可以更简短一些。至于“帮助将不胜感激”,这似乎是一个礼貌的补充,但我会在以后的问题中避免它。
-
有礼貌很好,但我们喜欢直接,我们喜欢明确的问题.例如“我怎样才能得到 XYZ 结果?”或“为什么我得到的是 ABC 结果而不是预期的 XYZ?”