Visual studio 2008 在C+中嵌入资源+/CLI项目
我想在C++/CLI项目中嵌入一些文件(文本文件,可能是图形)——最好与我在C#project中的方法相同。然而,这可能是不可能的,正如我在这篇文章中发现的那样:。这是三年前写的,所以现在可能有办法(在VS2k8中)?在C++/Cli项目下,转到“属性…”,然后在“链接器”下,再看看“输入”,你会看到“嵌入托管资源文件”下的嵌入文件列表。这是对Tarydon评论的修饰,显示如何将嵌入式资源保存到文件:Visual studio 2008 在C+中嵌入资源+/CLI项目,visual-studio-2008,c++-cli,Visual Studio 2008,C++ Cli,我想在C++/CLI项目中嵌入一些文件(文本文件,可能是图形)——最好与我在C#project中的方法相同。然而,这可能是不可能的,正如我在这篇文章中发现的那样:。这是三年前写的,所以现在可能有办法(在VS2k8中)?在C++/Cli项目下,转到“属性…”,然后在“链接器”下,再看看“输入”,你会看到“嵌入托管资源文件”下的嵌入文件列表。这是对Tarydon评论的修饰,显示如何将嵌入式资源保存到文件: using namespace System::IO; ... String^ tmpFile
using namespace System::IO;
...
String^ tmpFilename = System::IO::Path::GetTempFileName();
try
{
Stream^ readStream = Assembly::GetExecutingAssembly()->GetManifestResourceStream("embedded_file_name.xyz");
if(readStream != nullptr)
{
FileStream^ writeStream = gcnew FileStream(tmpFilename, FileMode::Create);
readStream->CopyTo(writeStream);
readStream->Close();
writeStream->Close(); // Required to flush the buffer & have non-zero filesize
}
}
catch (...)
{
// Do something?
}
转到文件属性,常规,项目类型,选择编译的托管资源 在VS2013工作 要访问程序中的资源,请执行以下操作:
Stream^ stream = Assembly::GetExecutingAssembly()->GetManifestResourceStream("file.txt");
如果在此处添加一个名为test.dat的文件,则可以如下方式访问它:Stream ^stm=Assembly::GetExecutionGassembly()->GetManifestResourceStream(“test.dat”);另外,为了以防万一,请检查nullptr。