[io.h] Czy to folder ??
Ostatnio zmodyfikowano 2014-12-06 15:31
Hexbinary Temat założony przez niniejszego użytkownika |
[io.h] Czy to folder ?? » 2014-12-06 12:01:34 #include <iostream> #include <windows.h> #include <io.h> int main( int argc, char ** argv ) { _finddata_t danePliku; long uchwyt = _findfirst( "*", & danePliku ); std::cout << uchwyt << " Name : " << danePliku.name << "\n"; int findnext = - 2; while( findnext !=- 1 ) { findnext = _findnext( uchwyt, & danePliku ); std::cout << findnext << " Name : " << danePliku.name << "\n"; } _findclose( uchwyt ); return 0; } Używam czegoś takiego do listowania katalogu i załóżmy ,że wyświetla coś takiego konsola. . .. gg.exe main.cpp listuj.exe poziom1 //folder pozi.om1a // folder Elegancko bym to zrobił ,gdyby kropa służyła tylko do zapisywania rozszerzeń ale niestety tak nie jest. Moglibyście podać jakieś funkcje albo metody ,które sprawdzają czy dana nazwa to folder?? |
|
pekfos |
» 2014-12-06 12:05:54 Flaga _A_SUBDIR w attrib w strukturze _finddata_t. |
|
Hexbinary Temat założony przez niniejszego użytkownika |
» 2014-12-06 15:31:20 Kompilacja tej funkcji rozwiewa wszystkie wątpliwości co do tego tematu, dzięki za wskazówkę. void listuj() { _finddata_t danePliku; std::cout << "_A_SUBDIR " << _A_SUBDIR << "\n"; long uchwyt = _findfirst( "*", & danePliku ); std::cout << uchwyt << " Name : " << danePliku.name << " _A_SUBDIR " << danePliku.attrib << "\n"; int findnext = - 2; while( findnext !=- 1 ) { findnext = _findnext( uchwyt, & danePliku ); std::cout << findnext << " Name : " << danePliku.name << " _A_SUBDIR " << danePliku.attrib << "\n"; } _findclose( uchwyt ); }
|
|
« 1 » |