我在VC ++中编写DLL,我需要使用外部文本文件。我现在有这样的事情:
ifstream file;
string line;
file.open("C:\\Users\\Me\\Desktop\\textfile.txt");
getline(file,line);
file.close();
据我所知,我可以在参考资料中找到这个文件吗?
我通过转到“ResourceView”添加了我的文本文件 - > “添加资源” - > “进口”。我选择了我的文本文件并创建了自定义资源类型。
如何访问此文件以与上述代码类似地使用?我有Resource.h但我应该怎么做呢? 我也可以编辑我的资源文本文件吗?
答案 0 :(得分:13)
假设:
将资源加载到内存中并获取指向它的指针是这样的:
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上卸载或解锁资源,如果再次获取资源,则不会泄漏内存;你总是得到同样的记忆。
有关更新资源的信息,请参阅Updating Resources in MSDN。