怎么获取当前目录下所以文件名及子目录名,保存为char *??????紧急!!!

时间:2022-04-24 12:02:50
怎么获取当前目录下所以文件名及子目录名,并将所有名字保存为char *??????紧急!!!谢谢。。。。

5 个解决方案

#1


老兄,你是在什么操作系统下啊?每个操作系统都不同的啊。因为这个与文件系统有关。

#2


VC++6.0 & Win9x/2k/xp下可用如下函数:

int GetCurrentPath(CString &strCurrentPath)
{
// 获取当前路径,
int returnCode = GetCurrentDirectory(MAX_PATH,strCurrentPath.GetBuffer(MAX_PATH));
strCurrentPath.ReleaseBuffer();
return returnCode;
}

#3


windows2003+ vc6.0

#4


vector<string> GetListDir(const string& sDir)//&micro;&Atilde;&micro;&frac12;&AElig;&yen;&Aring;&auml;&micro;&Auml;&acute;&oslash;&Acirc;·&frac34;&para;&Icirc;&Auml;&frac14;&thorn;&Atilde;&ucirc;&Aacute;&ETH;±í,&sup2;&raquo;±&yen;&ordm;&not;×&Oacute;&Auml;&iquest;&Acirc;&frac14;
    {
        vector<string> vFilePath;
        

        string strDir;
        strDir = sDir +"\*.*";
        CFileFind finder;
        BOOL bWorking = finder.FindFile(strDir);
        if(!bWorking)
        {
            return vFilePath;
        }
        while (bWorking)
        {
            bWorking = finder.FindNextFile();

            if (finder.IsDots())
                continue;
            else if (finder.IsDirectory())
            {
                continue;
            }
            else
                vFilePath.push_back(finder.GetFilePath().GetBuffer(0));
        }
return vFilePath;
}

对于目录的处理改一下就可以了。

#5


不错,不错

#1


老兄,你是在什么操作系统下啊?每个操作系统都不同的啊。因为这个与文件系统有关。

#2


VC++6.0 & Win9x/2k/xp下可用如下函数:

int GetCurrentPath(CString &strCurrentPath)
{
// 获取当前路径,
int returnCode = GetCurrentDirectory(MAX_PATH,strCurrentPath.GetBuffer(MAX_PATH));
strCurrentPath.ReleaseBuffer();
return returnCode;
}

#3


windows2003+ vc6.0

#4


vector<string> GetListDir(const string& sDir)//&micro;&Atilde;&micro;&frac12;&AElig;&yen;&Aring;&auml;&micro;&Auml;&acute;&oslash;&Acirc;·&frac34;&para;&Icirc;&Auml;&frac14;&thorn;&Atilde;&ucirc;&Aacute;&ETH;±í,&sup2;&raquo;±&yen;&ordm;&not;×&Oacute;&Auml;&iquest;&Acirc;&frac14;
    {
        vector<string> vFilePath;
        

        string strDir;
        strDir = sDir +"\*.*";
        CFileFind finder;
        BOOL bWorking = finder.FindFile(strDir);
        if(!bWorking)
        {
            return vFilePath;
        }
        while (bWorking)
        {
            bWorking = finder.FindNextFile();

            if (finder.IsDots())
                continue;
            else if (finder.IsDirectory())
            {
                continue;
            }
            else
                vFilePath.push_back(finder.GetFilePath().GetBuffer(0));
        }
return vFilePath;
}

对于目录的处理改一下就可以了。

#5


不错,不错