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

  • Evan Coury

    Evan Coury

    29 NİSAN 2007
  • Phandroid

    Phandroid

    26 Ocak 2009
  • the one am radio

    the one am r

    6 Mayıs 2006