我想搜索可能存在于任何驱动器中的文件,例如 C:\、D:\ 等。使用GetLogicalDriveStrings
我可以获得驱动器列表,但是当我为输出添加任何额外内容时,我null
在输出提示。这是我的代码:
#include "StdAfx.h"
#include <windows.h>
#include <stdio.h>
#include <conio.h>
// Buffer length
DWORD mydrives = 100;
// Buffer for drive string storage
char lpBuffer[100];
const char *extFile = "text.ext";
// You may want to try the wmain() version
int main(void)
{
DWORD test;
int i;
test = GetLogicalDriveStrings(mydrives, (LPWSTR)lpBuffer);
if(test != 0)
{
printf("GetLogicalDriveStrings() return value: %d, Error (if any): %d \n", test, GetLastError());
printf("The logical drives of this machine are:\n");
// Check up to 100 drives...
for(i = 0; i<100; i++)
printf("%c%s", lpBuffer[i],extFile);
printf("\n");
}
else
printf("GetLogicalDriveStrings() is failed lor!!! Error code: %d\n", GetLastError());
_getch();
return 0;
}
我想要上面的输出,因为C:\text.ext D:\text.ext ...
我得到的text.ext
只是。我在用Microsoft Visual C++ 2010 Express