某一目录下有N个TXT文本
1.txt
2.txt
3.txt
...如何获取到这些值呢?
VC有没有这样的方法,百度查了半天只看到有解决VB的。

解决方案 »

  1.   


    WIN32_FIND_DATA fd;
        HANDLE hFind = ::FindFirstFile("*.*", &fd);    if ( hFind != INVALID_HANDLE_VALUE )
        {
            do{
                if ( !(fd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) )
                {//非目录,即文件
                    cout << fd.cFileName << endl;
                }
            }while (::FindNextFile(hFind, &fd));        ::FindClose(hFind);
        }
    将 *.* 改成 *.txt 
      

  2.   

    速度都挺快啊
    FindFirstFile("*.*", &fd);
    是查找所有的,包括文件夹
    如果指定了格式的话,就*.格式
      

  3.   

    我是用filefind进行操作的。
    这个如何改呢
    TCHAR tmpStr[0x300] = {0};
    TCHAR szCurDir[_MAX_PATH] = {0};
    TCHAR no[0x10] = {0};
    GetCurrentDirectory(_MAX_PATH,szCurDir);
    wcscat_s(szCurDir,_MAX_PATH,_T("\\conf\\ShopData\\"));
    //wcscat_s(szCurDir,_MAX_PATH,no);//txtnumber
    wcscat_s(szCurDir,_MAX_PATH,_T(".txt"));
    TCHAR seps[] = {_T(",")};
    TCHAR *token = NULL,*nextToken = NULL;
    CFileFind filefind;  
    filefind.FindFile();
    ShopInfo m_tshopInfo;
    do{  
    CString convert(_T("shop"));
    int index = 0;
    memset(m_tshopInfo.ShopName,NULL,sizeof(m_tshopInfo.ShopName));
    memset(m_tshopInfo.ShopItemName,NULL,sizeof(m_tshopInfo.ShopItemName));
    GetPrivateProfileString(convert,_T("code"),_T(""),tmpStr,_MAX_PATH,szCurDir);
    GetPrivateProfileString(convert,_T("TheShopName"),_T(""),tmpStr,_MAX_PATH,szCurDir);
      }   
    while(filefind.FindNextFile());   
    filefind.Close();
      

  4.   

    WIN32_FIND_DATA fd;
        HANDLE hFind = ::FindFirstFile("*.*", &fd);    if ( hFind != INVALID_HANDLE_VALUE )
        {
            do{
                if ( !(fd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) )
                {//非目录,即文件
                    cout << fd.cFileName << endl;
                }
            }while (::FindNextFile(hFind, &fd));        ::FindClose(hFind);
        }这个完全OK,好像是侯捷书上的一段代码