Visual c++ 如何从VC++;?
我正在用VC++编写一个DLL,我需要使用外部文本文件。我现在有这样的事情:Visual c++ 如何从VC++;?,visual-c++,dll,resource-dll,Visual C++,Dll,Resource Dll,我正在用VC++编写一个DLL,我需要使用外部文本文件。我现在有这样的事情: ifstream file; string line; file.open("C:\\Users\\Me\\Desktop\\textfile.txt"); getline(file,line); file.close(); 我知道我可以在参考资料中找到这个文件,对吗 我通过转到“资源视图”->“添加资源”->“导入”添加了文本文件。我选择了我的文本文件并创建了自定义资源类型 如何访问此文件以使用与上述代
ifstream file;
string line;
file.open("C:\\Users\\Me\\Desktop\\textfile.txt");
getline(file,line);
file.close();
我知道我可以在参考资料中找到这个文件,对吗
我通过转到“资源视图”->“添加资源”->“导入”添加了文本文件。我选择了我的文本文件并创建了自定义资源类型
如何访问此文件以使用与上述代码类似的功能?我有资源,但我该怎么做呢?
我也可以编辑我的资源文本文件吗?假设:
- 资源类型为“文本”
- 资源ID是MY_resource_ID(这将是resource.h中的常量)
- 您已将EXE或DLL(无论哪个包含资源)的hInstance存储到m_hInstance中
HRSRC hResource = FindResource(m_hInstance, MAKEINTRESOURCE(MY_RESOURCE_ID), L"TEXT");
if (hResource)
{
HGLOBAL hLoadedResource = LoadResource(m_hInstance, hResource);
if (hLoadedResource)
{
LPVOID pLockedResource = LockResource(hLoadedResource);
if (pLockedResource)
{
DWORD dwResourceSize = SizeofResource(m_hInstance, hResource);
if (0 != dwResourceSize)
{
// Use pLockedResource and dwResourceSize however you want
}
}
}
}
注意:您不必卸载或解锁32位或64位Windows版本上的资源,如果再次获取资源,则不会泄漏内存;你总是得到同样的记忆
有关更新资源的信息,请参阅。谢谢!这就是我要找的。我正在使用ATL,所以我将
\u AtlBaseModule.m\u hInst
放在hInstance
位置,它运行良好。我想知道如何像文件或流一样使用这段内存。如果你知道,请在这里回答:@CichyK24流是在IStream中还是一种不同的流?哦,像一个ifstream;我不知道,抱歉,又来了!我对更新资源没有什么兴趣。你能看一下吗?亲爱的雷欧,在类似的情况下,我怎么才能得到C++代码中文件名的名字呢?