我使用下一个代码从一个文件中读取所有元素,其中包含有效的句柄hFile,以及我使用它的大小GetFileSize(hFile, NULL).
_TCHAR* text = (_TCHAR*)malloc(sizeOfFile * sizeof(_TCHAR));
DWORD numRead = 0;
BOOL didntFail = ReadFile(hFile, text, sizeOfFile, &numRead, NULL);
Run Code Online (Sandbox Code Playgroud)
操作之后text是日语中的一些奇怪的东西,而不是文件的内容.
我做错了什么?
编辑:我理解这是编码问题,但是如何将文本转换为LPCWSTR以使用WriteConsoleOutputCharacter之类的东西
该文件:http: //msdn.microsoft.com/en-us/library/dd607349(v = vs.85).aspx
声明#include"foobar.fx"将在与当前效果文件相同的目录中查找该文件.
它不起作用,但使用绝对路径确实没有用,这当然是无用的.
谷歌没有提出任何建议.我在这里缺少什么?
我需要知道如何在不刷新字段的情况下从数据库中添加数据?我的意思就像在电子邮件中添加联系人一样.如果我点击"添加"按钮,我需要在其中打开一个小窗口和联系人.如果我检查一个或两个联系人并按插入,则应将其插入"收件人"字段而不刷新父页面.!!
我怎么能用PHP或JavaScript做到这一点?请帮我 :)
我怎样才能转换BitArray成单身int?最快的方式请...
可能重复:
C/C++:如何创建可变参数宏(可变数量的参数)
我需要宏将在包含它的参数的数组中展开.例如:
#define foo(X0) char* array[1] = {X0}
#define foo(X0, X1) char* array[2] = {X0, X1}Run Code Online (Sandbox Code Playgroud)
等等.我的问题是我需要使用与foo的参数变量数,所以我希望能够使用FOO("foo0"),但也使用FOO("foo0","foo1","foo2的" ..."欢").我知道有可能:
#define foo(...)
#define foo_1(X0) ..
#define foo_2(X0, X1) ..
#define foo_3(X0, X1, X2) ..
#define foo_N(X0, X1, ... XN) ..
Run Code Online (Sandbox Code Playgroud)
并使用____VA_ARGS____,但我不知道如何在foo_k宏中扩展foo,具体取决于它的参数计数?这可能吗?
我正在用Java做项目。因为我有一个部分,我必须确定程序中的单个、多个评论和评论总数。我需要您的指导来计算 java 中单行注释、多行注释和总无注释行的数量。
我有一个完整路径的文件名列表,我需要删除文件名和文件路径的一部分,考虑到我有一个过滤器列表.
Path.GetDirectoryName(file)
Run Code Online (Sandbox Code Playgroud)
部分工作,但我想知道是否有一种简单的方法来过滤路径使用.Net 2.0来删除它的一部分.
例如:
如果我有path + filename相同的C:\my documents\my folder\my other folder\filename.exe和所有我需要的是上面my folder\意味着我只需要从中提取my other folder.
更新:
过滤器列表是一个文件框,文件夹名称用a分隔,,所以我只有部分名称就像上面的例子一样,这里的过滤器就是my folder
基于Rob代码的当前解决方案:
string relativeFolder = null;
string file = @"C:\foo\bar\magic\bar.txt";
string folder = Path.GetDirectoryName(file);
string[] paths = folder.Split(Path.DirectorySeparatorChar);
string[] filterArray = iFilter.Text.Split(',');
foreach (string filter in filterArray)
{
int startAfter = Array.IndexOf(paths, filter) + 1;
if (startAfter > 0)
{
relativeFolder = string.Join(Path.DirectorySeparatorChar.ToString(), paths, startAfter, paths.Length - startAfter);
break;
}
}
Run Code Online (Sandbox Code Playgroud)