C中的文件查找器

时间:2015-02-22 18:35:05

标签: c windows c++11

首先抱歉我的英语不好。我不是英国人。 我打算编写一个列出所有可用逻辑磁盘驱动器的程序。然后要求用户选择一个驱动器。然后获取文件扩展名并在给定驱动器(包括目录和子目录)中搜索该文件类型。程序应该能够在Windows XP及更高版本上运行。它应该是单独的应用程序。我不是C的专家。我有一些C#的手。我在这方面有以下问题。 1.是否有任何IDE /工具可以在其中编写C#代码,直接编译为单独的Windows独立应用程序? 2.你能推荐一些我可以使用状态转发的库吗?就像在C#中使用一样? (我已经看到了直截了当的研究。)

我修改了一些我作为初创公司测试的代码。


#include <windows.h>
#include <direct.h>
#include <stdio.h>
#include <tchar.h>
#include<conio.h>
#include<dirent.h>
//------------------- Get list of all fixed drives in char array. only drive letter is get. not path.
//                      add ":\" to build path.
char AllDrives[26];
DWORD GetAllDrives()
{
    int AvlDrives=0;
    DWORD WorkState=-1;
//TCHAR DrivePath[] = _T("A:\\");  //Orignal Type
//start getting for drive a:\ to onward.
char DrivePath[] = {"A:\\"};

    //http://www.tenouk.com/cpluscodesnippet/getdrivetype.html
   ULONG uDriveMask = _getdrives();

   if (uDriveMask == 0)
   {
       WorkState=GetLastError();

        printf("\r\nFailed to Get drives. Error Details : %lu", WorkState);
        return WorkState;
   }
   else
   {

       WorkState=0xFF;
      printf("The following logical drives are being used:\n");

      while (uDriveMask) {
         if (uDriveMask & 1)
            {

                UINT drvType=0;
                drvType = GetDriveType(DrivePath);
                if(drvType==3)
                {
                    AllDrives[AvlDrives]= DrivePath[0];
                    AvlDrives++;
                    printf("\r\n%s",DrivePath);
                }
            }
         ++DrivePath[0];    //Scan to all scanable number of drives.
         uDriveMask >>= 1;
      }
   }
   return WorkState;
}

int main(int argc, char* argv[]) {
    char DrivePath[]={"C:\\"};
    char CurrentDrive[]={"C:\\"};
DWORD Drives=-1;
int d=0;
for( d=0; d<26; d++)
    AllDrives[d]=' ';
Drives=GetAllDrives();
if(Drives >0)
{
    int Length= sizeof(AllDrives);
    for(int x=0; x<26; x++)
    {
        if(AllDrives[x]!=' ')
            {

                printf("\r\nFixed Drive : %c",AllDrives[x]);

            }
    }

}

   getch();
}

1 个答案:

答案 0 :(得分:0)

您可以使用visual studio编译器在Windows中编译C和C ++,它可以使用自己的IDE。安装visual studio时,它还会安装所需的库来编译C / C ++程序。还有其他可与Windows兼容的IDE和编译器,如DevC ++,CodeBlocks。