我有这个
WCHAR 文件名[1];
作为函数的返回值(它是 sys 32 函数,因此我无法更改返回的类型)。我需要使 fileName 以 null 结尾,因此我尝试将 '\0' 附加到它,但似乎没有任何效果。
一旦我得到一个以 null 结尾的 WCHAR,我将需要将其传递给另一个 sys 32 函数,因此我需要它保持为 WCHAR。
有人可以给我任何建议吗?
=================================================
非常感谢您的帮助。看来我的问题不仅仅与缺少空终止字符串有关。
//这有效:
WCHAR szPath1[50] = L"\\Invalid2.txt.txt";
dwResult = FbwfCommitFile(szDrive, pPath1); //Successful
Run Code Online (Sandbox Code Playgroud)
//这不会:
std::wstring l_fn(L"\\");
//Because Cache_detail->fileName is \Invalid2.txt.txt and I need two
l_fn.append(Cache_detail->fileName);
l_fn += L""; //To ensure null terminated
fprintf(output, "l_fn.c_str: %ls\n", l_fn.c_str()); //Prints "\\Invalid2.txt.txt"
iCommitErr = FbwfCommitFile(L"C:", (WCHAR*)l_fn.c_str()); //Unsuccessful
Run Code Online (Sandbox Code Playgroud)
//然后当我对这两者进行比较时,它们是不平等的。
int iCompareResult = l_fn.compare(pPath1); // returns -1
Run Code Online (Sandbox Code Playgroud)
所以我需要弄清楚这两者最终是如何不同的。
多谢!
是否有在.NET中创建自定义框架的分步指南?
我正在尝试自己创建一个,已经在MS网站上阅读有关程序集和GAC等的材料,但我越来越困惑.
我此刻并不想做任何特别的事情.我只是想学习如何开发自定义框架.通过框架,我的意思是.NET Framework,或http://en.wikipedia.org/wiki/Software_framework.我知道我必须首先对GAC做一些事情,然后确保它的名字很强等.