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

  • KarnasCamillo

    KarnasCamill

    24 EKİM 2007
  • Chaîne de TheMoustic

    Chaîne de T

    5 Kasım 2006
  • tutvid

    tutvid

    19 AĞUSTOS 2006