Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[io.h] Czy to folder ??

Ostatnio zmodyfikowano 2014-12-06 15:31
Autor Wiadomość
Hexbinary
Temat założony przez niniejszego użytkownika
[io.h] Czy to folder ??
» 2014-12-06 12:01:34
C/C++
#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??
P-122326
pekfos
» 2014-12-06 12:05:54
Flaga _A_SUBDIR w attrib w strukturze _finddata_t.
P-122327
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ę.

C/C++
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 );
}
P-122354
« 1 »
  Strona 1 z 1