C++ cli 宏与C+的偏移量+/CLI

offsetof宏在C++/CLI下似乎不起作用 这在非托管C++中很好,但抛出“错误C2255:‘实体’:非法使用这个类型作为表达式:CLI.< /P>中的错误” struct Property{ char* label; PropertyTypes type; unsigned int member_offset; unsigned int position; unsigned char bit_offset; }; struct Enti

C++ cli 如何创建包含按值传递的列表(或类似列表)的CLI值类? 我们有一个C++库,它使用一个包含STL结构向量的结构,比如: struct Params { // values... } struct Settings { std::vector<Params> m_params; // values... } public value struct Params { // values... } public value struct Settings { List<Params>^ Params; // values... } struct参数 { //价值观。。。 } 结构设置 { std::向量m_参数; //价值观。。。 }

我正在为库编写一个CLI包装器,并且我想要上述结构类型的等价物。我一直在考虑使用列表作为向量的等价物,如下所示: struct Params { // values... } struct Settings { std::vector<Params> m_params; // values... } public value struct Params { // values... } public value struct Settings

C++ cli 帮助从c+;加载.Net DLL+/Cli

我有一个.Net DLL,我需要从第三方应用程序调用它。第三方应用程序不支持加载托管DLL,因此我使用的是C++ + CLI DLL,它公开了应用程序调用的本机C++函数,如下所示。 第三方应用程序->c++/cli DLL->.Net DLL 我的问题是,当我的c++/Cli dll尝试从.Net dll调用函数时,会因“访问冲突”错误而崩溃。如果直接从VC++控制台应用程序调用.Net DLL,则不会出现此问题 在visual studio中创建clr选项设置为true的c++/cli dl

C++ cli 访问冲突C++/CLI

我正在为本机第三方库制作一个C++/CLI包装器,代码如下: #pragma once #include <Codegen.h> #include <string> using namespace System; namespace CodegenWrapper { public ref class CodegenWrapper { private: Codegen * codegen; public:

C++ cli C++/CLI为什么从托管服务器不可见 我有C++ DLL,我正在转换成C++/CLI。 设置/clr编译器选项后,我的项目构建良好。 然而,当我试图通过引用c项目中的dll来引用本机方法时,c项目无法找到它。 设置/clr是否会将所有源代码都编译为MSIL,这些源代码应该可以从其他.net程序集中看到? 为什么我必须创建一个c++/cli包装类才能使本机代码对c代码可见

我不清楚c++/cli到底是如何工作的……clr不会让托管代码看到您的本机类,也不会将所有内容编译为托管代码。它只允许您将托管代码添加到C++项目中。这是通过C++/CLI语言扩展实现的,即:生成ref类而不是标准类 /clr:pure标志将所有内容编译为非本机托管代码,但需要对源代码进行重大更改才能编译 clr不会使托管代码看到您的本机类,也不会将所有内容编译为托管代码。它只允许您将托管代码添加到C++项目中。这是通过C++/CLI语言扩展实现的,即:生成ref类而不是标准类 /clr:pur

C++ cli 如何在messagebox上显示全局变量?

这是书面代码 void horizontal_calculate() { String ^aa = filenames[0]; std::string file1(marshal_as<std::string>(aa)); String ^bb = filenames[1]; std::string file2(marshal_as<std::string>(bb)); double Result3=horizontal_read

C++ cli 使用没有BOM的FileStream编写流?

有没有一种方法可以在没有BOM的情况下使用FileStream编写流? 我在这里要做的是首先将一个XmlNode转换为一个流,然后在某个时间点将该流写入一个文件。我需要它以流的形式,以便与我的功能互操作。我可以用另一种方法,但如果可能的话,我想用这种方法 Stream^ XmlToStream(XmlNode^ Node) { Stream^ stream = gcnew MemoryStream(); XmlDocument^ xmlDoc = gcnew XmlDocume

C++ cli C++;使用System.Drawing命名空间

我是一个处理图像的新手。我需要使用System.Drawing名称空间,当我尝试这样做时:使用名称空间System::Drawing我有一个错误,系统尚未声明。我该怎么办?包括一些东西?你需要#使用,当然它必须是CLR项目。闻起来好像你忘了添加引用。但由于它不喜欢这个系统,您可能使用了错误的项目模板来开始。您必须从CLR节点中选择一个。System::Drawing所能做的大部分事情都可以通过#包括gdiplus.h在本机代码中获得

C++ cli C++/CLI:如何在C++/CLI?

在C#和VB.Net中,我可以使用CallerMemberNameAttribute以字符串形式获取调用程序的名称: public void Caller([CallerMemberName]string memberName = "") { Debug.Print(memberName); } 我想在C++/CLI中也这样做,但不知何故,我无法让它正常工作。尝试了几种构造,我开始怀疑C++/CLI编译器是否支持此属性 以下是一个(简化的)实现: using namespace Syst

C++ cli 将数组传递到类的C++ CLI

正如标题所说,我必须创建一个可以接受数组作为参数的类 以下是头文件的当前版本: public ref class MyClass { public: MyClass() {}; MyClass(array<int, 2> ^(&A1), const int &i2) : A1(A1), I2(i2) {}; String^ Method(); ~MyClass() {}; private: array<int,

C++ cli 如何在C++/CLI以匹配“的签名”;C++&引用;方法,该方法引用托管类型 < >我想调用一个用C++编写的代码,用代码< > CL/OL:OLFordSuths//>(C++ C++的托管扩展),代码是用代码> /CLR < /C> >(C++/CLI)编译的。但是,在C++/CLI中声明该方法时遇到了问题,无法使其与“C++托管扩展”签名匹配

使用“C++托管扩展”的版本中的声明如下所示: void MangToUnMangDateTime(System::DateTime & managedDT, tm& unmangDT); 注意:第一个参数(managedDT)是此问题的相关参数。这将导致该方法的以下msil(使用ildasm.exe找到): 第一次尝试: 我第一次尝试在C++/CLI中向前声明此方法,结果如下所示: void MangToUnMangDateTime2(System::DateTime % m

C++ cli C++/CLI社区

有点好奇到底有多少人使用C++/CLI?那么有多少人在使用它呢?是否有特定的工作,人们只在管理环境下寻找程序员?围绕c++/cli的社区有多大?从我所看到的到目前为止,有相当多的语法变化,这是我应该学习的,作为C++程序员吗?另外,是C++/CLI,C++?NET?我对微软的任何事情都一无所知 C++/CLI对于在托管代码和非托管代码之间架起桥梁是必要的,因为您无法完全享受100%托管代码的编写。这可能会发生,如果你不能重写你的整个C++应用程序在托管代码中,由于大量的限制,因此,随着时间的推移

C++ cli 托管C++;,对象引用未设置为对象的实例

我以前遇到过这个问题,但从未遇到过这样的情况。我完全糊涂了。如问题所述,我得到了运行时错误“对象引用未设置为对象的实例”。使用调试器工具,我认为我已将问题精确定位到这一行: dataFileLocation=path; 整个功能如下: void DATReader::SetPath(字符串^path) { 如果(!File::存在(路径)) { MessageBox::Show(“DATReader(缺少dat文件:\n”+path+“\n)”,“Error”,MessageBoxButton

C++ cli Snap7写入S7-1200 PLC

我正试图用C++/CLI应用程序为我的西门子公司写一些东西 读取正常(除了第一次读取时给出奇数值) 但是写作是做一些完全不同于我想要的事情 您可以在下面找到代码: private: void WriteSiemensDB() { byte* buffer; if (ConnectToSiemensPLC()) //Check if you are connected to PLC { String^ msg;

C++ cli 从C+;调用Debug.Assert的安全方法是什么+;CLI?

本博客不推荐: 但我还是想做。我想我需要用某种#if或#ifdef之类的东西来包装我的Debug.Assert。另外,是否有人在C++CLI中有Debug.Assert的好例子 假设我有以下变量:String^validationError=bldError.ToString() 现在我想做一些类似的事情: #if (DEBUG) Debug.Assert(false, "Got the following validation error:" + validationError); #end

C++ cli 符号^%在c+中是什么意思+;项目 我有一个C++项目AA项目类型“类库”,在另一个C++项目中,在引用中添加AAA.DLL,源代码 void CTest:OnCallback(OperationCallbackInfo^% oci)

OperationCallbackInfo是在AAA.dll中定义的类 我的问题是:符号^和%在参数中是什么?< p>这意味着你所拥有的不是真正的C++,而是C++的/CLI,微软专有的.NET ./p>语言版本。 如果内存服务,>%s/COD>是“跟踪引用”的语法。这意味着(至少相当)与C中的代码> REF < /C> >。从C++的观点来看,它与定义一个参数作为指针的引用几乎是一样的。在托管C++中,只处理 ^ < /C>,这与^ %不完全相同。@ Brendan Long:它不是复制品。

C++ cli 如何从C#ref类型转换为CLI\C++;^%类型 我正在编写一个应用程序在托管C++(CLI+C++)中。其中我使用的库(.dll文件)是用C#编写的

在一个文件中,我遇到了一个问题 我正在实现库中编写的接口的功能 库中函数的声明如下所示: COMWORKSPACELib.IWorkspaceEvents.WorkspaceMessage(int, string, COMWORKSPACELib.EnumNotificationCode, COMWORKSPACELib.EnumNotificationType, string, ref COMWORKSPACELib.EnumNotificationReply); 当我在CLI\C++中编写

C++ cli cli/c++;增量运算符重载

我有一个关于cli/c++环境中运算符重载的问题 static Length^ operator++(Length^ len) { Length^ temp = gcnew Length(len->feet, len->inches); ++temp->inches; temp->feet += temp->inches/temp->inchesPerFoot; temp->inches %= temp->inchesPer

C++ cli 导入本机c++;班级

我有一个c++/cli类库项目。我需要导入C++本地链接。它们是这样宣布的 class __declspec(dllexport) Check { const char* type; protected: int val; public: Check(int); Check(); const char* Type(); void Type(const char*); virtual int Val(); void Val(int); ~Che

C++ cli C++/CLI包装器不工作(LoaderLock异常) 我为非托管C++库做了一个非常简单的包装器(与C语言一起使用)。包装器有一个非托管类和一个托管类。托管类具有非托管类的私有成员,并像这样使用它

我已经完成了非常简单的设置——我只为一个函数创建了包装器,以查看是否一切正常。但在我创建包装器实例时,我的应用程序get的异常“LoaderLock被检测到”,并显示以下消息: DLL“c:\path\CPPWrapper.DLL”为 正在尝试在OS加载程序锁内执行托管执行。不要试图 在DllMain或映像初始化函数中运行托管代码 因为这样做会导致应用程序挂起 如果我关闭“LoaderLock”异常的中断,我会得到“FileLoadException未处理”: 知道我做错了什么吗?我怎样才能解决

C++ cli C++/CLI-基于XML的活动报告

这是我以前的一个查询()的继续。我正在从C++/CLI应用程序访问基于xml的活动报告。是否有任何方法可以从C++/CLI与活动报告进行数据通信,例如,我想在应用程序访问的XML报告的详细信息部分打印C++/CLI应用程序中存在的托管数据。我不想使用任何c代码。能做到吗?谢谢。当然,ActiveReports可以做到。由于C++/CLI生成标准的.NET对象,您可以在C++/CLI中创建对象,ActiveReports将绑定到这些对象。创建要绑定到的对象的IEnumerable集合(集合中的每个

C++ cli 解释。你可以回答这个问题。它是如何引用c的?我相信我可以很容易地用c编写类似的代码,并引起同样的奇怪行为。因此,使用c#的用户可能会遇到同样的问题,我在这里给出了一个解决方案。此外,我认为问题与IL或JIT编译器有关,因此它也与.net有关。非静态类方法隐

解释。你可以回答这个问题。它是如何引用c的?我相信我可以很容易地用c编写类似的代码,并引起同样的奇怪行为。因此,使用c#的用户可能会遇到同样的问题,我在这里给出了一个解决方案。此外,我认为问题与IL或JIT编译器有关,因此它也与.net有关。非静态类方法隐藏了用于访问类成员的“this”参数。所以,当使用null引用调用此类方法时,它可能无法尝试访问类成员。但一般来说,这是未定义的行为,它可能会在呼叫线路上崩溃。@AlexFarber:谢谢你的解释。你可以回答这个问题。它是如何引用c的?我相信我

C++ cli Visual C++:将事件处理程序提取到.cpp文件 作为PHP开发人员,在做了大量的C++算法后,我决定开始学习Visual C++。刚开始工作,我就被一些基本的东西卡住了。我正在尝试将按钮单击事件从.h文件提取到.cpp文件

我的.h文件: #pragma once namespace Project1 { ... this->button2->Click += gcnew System::EventHandler(this, &MyForm::button2_Click); ... } 在我的.cpp文件中,我尝试这样做: #include "MyForm.h" using namespace System; using namespace System::Windows::Form

C++ cli 如何在托管C++; 当我试图创建一个继承在StababCeleCopyTebug中的托管C++类时,我得到了错误: 错误C2039:“ObservableCollection”:不是“System::Collections::ObjectModel”的成员

这是我的密码: using namespace System; using namespace System::Collections; using namespace System::Collections::Generic; using namespace System::Collections::ObjectModel; public ref class DataMatrix : public System::Collections::ObjectModel::ObservableCol

C++ cli C++/CLI-从正在写入的变量读取

如果我使用BackgroundWorker创建两个线程,其中一个线程正在写入类的静态成员变量,而另一个线程正在读取,这是否会导致应用程序崩溃 如果否,C++/CLI如何处理它 提前感谢。它本身不会导致应用程序崩溃。它会导致未定义的行为。这意味着,或多或少,任何事情都可能发生 你说的是比赛条件。这些都是不好的;编写多线程代码时,您的主要任务是防止这些情况发生。所以C++/CLI本身不处理这些问题?由开发商决定?谢谢

C++ cli “Shell”:找不到标识符 当尝试执行这个C++程序时,我会得到这个。为什么?

代码是: private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) { Shell("maplestory.exe") 你要么需要从.NET库中获取,要么需要调用Windows API。也许你需要System.Shell.execute?很好,它很快就解决了,但当我在youtube上看到tuts时,当人们可以点击按钮时,他们会得到一个简短的代码,开始时是私有子按钮

C++ cli 如何将字符串^转换为字符串?visualc&x2B+;

如何将字符串^转换为字符串?我做了很多尝试,这是一个: string y = ""; String ^x = "Hi"; y = y + x; /#包括 System::String*str=S“Hello world\n”; const\uuuuwchar\u t\uuuuuu pin\u ptr*str1=PtrToStringChars(str); wprintf(str1); 我不知道是否有直截了当的方法,但你可以试试这个 wchar_t* str = x.Data(); std::w

C++ cli WinSCP:使用GetFiles()目录

[问题]WinSCP可以处理连接目录吗 我正在使用C++/CLI编写一个使用WinSCP.NET程序集(版本5.5.3)的SFTP程序。我的程序读取计划文件。最初,get文件的源路径必须是绝对路径。现在我必须支持相对路径,我遇到了一个问题 以下是尝试获取主目录中的所有文本文件。当然,我也希望获得主目录中所有子目录中的所有文本文件。因此,我使用: transferOptionObject->FileMask = "*.txt"; transferResult = sftpSession-&g

C++ cli “之间的区别是什么?”gcnew";及+;=gcnew";? 请考虑以下代码行: port->DataReceived += gcnew SerialDataReceivedEventHandler(DataReceivedHandler);

前面的+与gcnew关键字一起使用时意味着什么不同?+=运算符不适用于gcnew运算符,但适用于接收的数据事件。您正在使用“gcnew”运算符在托管堆上实例化一个新的SerialDataReceiveDevenHandler委托,您正在使用+=运算符将其添加到DataReceived事件的调用列表。运算符+=不适用于gcnew运算符,但适用于DataReceived事件。您正在使用“gcnew”运算符在托管堆上实例化一个新的SerialDataReceiveDevenHandler委托,并使用+

C++ cli 错误:无法在本机堆上动态分配此值类型对象

我正在尝试动态创建System::DateTime的实例,并将其分配给System::DateTime gDate,以防用户使用'p'参数。但是,我得到了代码片段后面显示的错误 case 'P': gDate=new DateTime(std::stoi(year), std::stoi(month), std::stoi(day)); cout << "Persian Date is: " << pDate.GetDayOfMonth(g

C++ cli 如何检查nullptr的自动根对象

我想检查我的C++/Cli管理的自动根目录是否为空。下面是我如何进行的: auto_gcroot<RefClassA^> m_a; if (static_cast<RefClassA^>(m_a) != nullptr) { ..... } auto_gcroot m_a; 如果(静态_-cast(m_-a)!=nullptr) { ..... } 问题是我得到了一个错误: '不存在从'auto_gcroot'到对象^ 正如我在评论中

C++ cli 通过托管C++;与非托管C之间的数组 我是C、C++和C++/CLI的初学者,我对指针和东西不太了解,但我确实需要在C库中创建.NET包装器。我试过使用SWIG,但它不起作用,我被卡住了。我不想使用P/Invoke,因为其中涉及到一些嵌套结构,而且我了解到P/Invoke对这些结构不是很好

总之,我有一个C头,看起来像这样: // packer.h typedef struct { int left; int top; int right; int bottom; } frame_t; typedef struct { /* IN */ int width; int height; /* OUT */ frame_t view; frame_t dest; } image_t; typedef st

C++ cli 我可以在C++/CLI dll? 我有一个非托管C++应用程序,它提供了一个定制的MyTrr处理器。当此应用程序在非托管DLL中加载和运行代码时,如果出现数学错误(例如asin(100.0)),将调用自定义的_matherr函数,并且所有操作都正常

但是,我现在尝试在C++/CLI中创建一个NUnit测试DLL,它加载与上述应用程序相同的非托管DLL并运行相同的代码。我想做的是将_matherr函数添加到C++/CLI dll中,这样当出现数学错误时,我就可以执行一些自定义处理程序逻辑 C++/CLI dll在定义了_matherr函数的情况下编译得很好,但是当我从非托管dll强制执行数学错误时,不会调用_matherr函数 C++/CLI不支持这一点吗?MSDN文档似乎说_matherr受所有C运行时的支持(带有指向包括/clr运行时在内

C++ cli 什么是C++/订阅事件的CLI语法? 我用这样的行更新一些旧的托管C++代码: instanceOfEventSource->add_OnMyEvent( new EventSource::MyEventHandlerDelegate(this, MyEventHandlerMethod) );

在哪里 EventSource是发布事件的类 instanceOfEventSource是该类的一个实例 EventSource::MyEventHandlerElegate是事件的委托类型 MyEventHandlerMethod是当前类(其中“this”是实例)中的一个(非静态)方法,其签名与EventSource::MyEventHandlerElegate匹配 在C++/CLI中正确的语法是什么?该语法类似于C#,换句话说,+=被重载以实现这一点: instanceOfEventSo

C++ cli 在嵌套的typedef上调用静态函数

此代码拒绝编译: #include <vcclr.h> struct contained { typedef System::Int32 type; }; int main(array<System::String ^> ^args) { auto a = System::Int32::Parse("0"); auto b = contained::type::Parse("0"); return 0; } 在自动b行上。但是,如果

C++ cli 使用C++/CLI

我有一个问题(我认为它可以很容易地解决,但它让我发疯)。我查看了其他帖子,但没有找到解决方案 我想使用C++/CLI将二进制文件读入结构。问题是,在读取后,某些值与正确的值不匹配。在下面的示例中,所有结构字段都会被很好地读取,直到“a”(包含)(大约字节100)。从该字段中,其余字段的值错误。我知道它们的值是错误的,源文件是正确的,因为我以前使用过python,以及C++/CLI中的FileStream和BinaryReader。但是,我不再使用它们,因为我想将二进制文件读入结构 此外,在某些情

C++ cli 在C+中展开对象+/CLI

我在C#DLL中定义了如下函数: public class Class1 { public static dynamic CS_Func() { dynamic obj = new ExpandoObject(); obj.num = 99; return obj; } } 在另一个C#EXE中,可以这样调用它: public void CS_Caller() { dynamic obj = Class1.CS_F

C++ cli C++;/CLI预编译头:它们是如何工作的?

我正在尝试编写一个混合模式DLL,我们称之为“客户机”,用它们的托管等价物替换一些非托管类。在我的个人机器上,一切都很好,但是当我签入源代码时,我们的构建机器不会构建项目。它无法识别我正在使用的另一个DLL(称为“Core”)中的托管类 我认为这个问题与预编译头有关。原因如下: 为了使用“Core”中的类,我在“Client”项目中添加了对“Core”项目的引用。如果我删除此引用,然后在我的个人计算机上构建项目,它仍然有效。但是,CLR PCH在删除引用后不会重新编译。如果我重新编译CLR PC

C++ cli 在C++/CLI中向库添加引用的正确方法是什么?

我正在用C++/CLI编写一个库,其中一个函数返回System::Drawing::Color对象。我添加了System.Drawing作为项目参考。它起作用了 然后我创建了一个测试应用程序来链接到这个库,并添加了我创建的库作为引用。一切都链接良好,但随后我尝试运行应用程序,出现错误单元测试适配器引发异常:无法加载一个或多个请求的类型。有关详细信息,请检索LoaderExceptions属性。。我不知道如何访问此LoaderException属性 通过在测试项目中向System.Drawing添

C++ cli C+中的跟踪引用+/CLI

有人能给我解释一下下面的代码片段吗 value struct ValueStruct { int x; }; void SetValueOne(ValueStruct% ref) { ref.x = 1; } void SetValueTwo(ValueStruct ref) { ref.x = 2; } void SetValueThree(ValueStruct^ ref) { ref->x = 3; } ValueStruct^ first =

C++ cli 如何在C++/CLR?

我对这件事很失望。我试图在C++/CLR中扩展一个C#创建的接口。接口有一个方法,我已经在我的类中声明了它,但是编译器一直告诉我,我仍然必须为接口方法提供一个实现。我还能做什么?我错过了什么 有没有人举过如何在CLR中扩展C#接口的例子?我想出来了!我需要使元素的实现虚拟化。我希望这能帮助其他人解决同样的问题

C++ cli C++/CLI-命名空间和类的不明确符号

我尝试编译一个C++/CLI文件,其中包括一个头文件(本机,第三方),其中定义了一个类“Foo”。此外,我正在通过使用“Bar.dll”使用一个C#dll,其中定义了一个名称空间“Foo”。编译器给出错误C2872“Foo是不明确的符号” 我不知道本机类“Foo”是在哪个命名空间中定义的,因为头文件中的类定义没有嵌套在某个命名空间中。所以我假设类“FoO”可能没有命名空间(C++中可能,不是吗?)否则,我将指定类“Foo”及其命名空间,使其特定于编译器 我可以将“Bar.dll”中使用的名称空间

C++ cli C/C++;DLL:将常量uint8\t转换为字符串 我在10多年中还没有看到C++代码,现在我需要开发一个非常小的DLL来使用类(System::NET:NETWORKIONS)< /C> >对一些代码>远程地址> /代码>进行ping。p>

我接收到远程地址的参数是,然后需要将其转换为常量uint8*。前一个是强制性的,我不能改变任何东西。remoteAddress必须作为FREObject接收,然后在const uint8*中进行转换 我遇到的问题是,我必须将String^传递给Ping类,而不是constuint8*并且我不知道如何将constuint8*转换为String^。你有什么想法吗 下面是我代码的一部分: // argv[ARG_IP_ADDRESS_ARGUMENT holds the remoteAddress v

C++ cli 应用程序关闭时崩溃-使用混合模式DLL

程序关闭时,我的应用程序会崩溃。否则运行正常。 设置: -Visual Studio 2012(x64 Windows 7) -C++/CLI与本机代码DLL的混合(本机代码为Boost Asio) -与DLL链接的CLR控制台应用程序 当我“调试”崩溃时,会显示相关消息: 未处理的异常。。。0xC002001:字符串绑定无效 我找到了这个描述错误的MS简介: 概括地说,当托管代码与非托管代码不正确地混合时,就会发生这种情况。 但是,我无法确定我的代码在哪里被错误地混合 文件“unmanaged

C++ cli c++;CLI:从SafeRegistryHandle获取HKEY

我使用注册表并使用函数RegNotifyChangeKeyValue。第一个选项需要注册表项句柄(HKEY),但我有RegistryKey,可以从中获取SafeRegistryKey(key->handle) 错误:“类型为Microsoft::Win32::SafeHandles::SafeRegistryHandle”的参数与类型为“HKEY”的参数不兼容 如何获取HKEY?需要进行转换才能从安全句柄类中包装的IntPtr获取本机句柄。看起来是这样的: HKEY handle = (H

C++ cli 将文件名从SaveDialog中取出并动态更改为c++;

我的问题是: 我想用索引号展开用户在SaveFileDialog中给程序的文件名。 我从对话框中获取完整路径,并在其中搜索“.” System::String^ str = saveFileDialog1->FileName; pin_ptr<const wchar_t> wch = PtrToStringChars(str); size_t convertedChars = 0; size_t sizeInBytes = ((str->Leng

上一页   1   2    3   4   5   6  ... 下一页 最后一页 共 23 页