SORU
15 EYLÜL 2008, PAZARTESİ


Nasıl her dosya/dizin standart C ardışık yineleme musunuz ?

Nasıl her dosya/dizin standart C ardışık yineleme musunuz ?

CEVAP
15 EYLÜL 2008, PAZARTESİ


Standart C , teknik olarak standart C dizinler diye bir kavram vardır beri bunu yapmak için bir yol yoktur. Eğer senin net biraz genişletmek, Boost.FileSystem kullanarak bakmak isteyebilirsiniz. Bu, bu uygulama standart için mümkün olduğunca yakın tutmak için en iyi şans verir yani TR2, eklenmesi için kabul edilmiştir.

Bir örnek, direk internet sitesinden alınmıştır:

bool find_file( const path & dir_path,         // in this directory,
                const std::string & file_name, // search for this name,
                path & path_found )            // placing path here if found
{
  if ( !exists( dir_path ) ) return false;
  directory_iterator end_itr; // default construction yields past-the-end
  for ( directory_iterator itr( dir_path );
        itr != end_itr;
          itr )
  {
    if ( is_directory(itr->status()) )
    {
      if ( find_file( itr->path(), file_name, path_found ) ) return true;
    }
    else if ( itr->leaf() == file_name ) // see below
    {
      path_found = itr->path();
      return true;
    }
  }
  return false;
}

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • itfigueres

    itfigueres

    12 EKİM 2013
  • Photoshop Training Channel

    Photoshop Tr

    13 Temmuz 2012
  • Strata1000

    Strata1000

    28 EYLÜL 2009