Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

c++ Jak odczytać rozszerzenie pliku i wysłać go do zmiennej?

AJOT74 21 Maj 2017 13:58 1374 9
  • #1 21 Maj 2017 13:58
    AJOT74
    Poziom 10  

    Napisałem coś takiego:

    Kod: c
    Zaloguj się, aby zobaczyć kod

    Jestem początkującym w tym języku, szukałem przez kilka godzin w GOOGLE i nie znalazłem nigdzie jak z nazwy pliku wyodrębnić samo rozszerzenie, znalazłem jak wychwycić pliki o podanym rozszerzeniu, ale nie to co ja potrzebuję, chciałbym też aby rozszerzenie trafiło do zmiennej. Może ktoś pomoże?

    0 9
  • #2 21 Maj 2017 14:35
    Imekxus
    Poziom 17  

    Znajdź ostatnią kropkę (indeks znaku) i odczytaj znaki od indeks+1 do length-1

    0
  • #3 21 Maj 2017 17:41
    AJOT74
    Poziom 10  

    No prawie rozumiem, patrząc na inne języki które znam, ale w tym mam problem jak przekształcić "plik->d_name " na zmienną na przykład typu STRING.

    0
  • #4 21 Maj 2017 19:52
    krru
    Poziom 32  

    AJOT74 napisał:
    No prawie rozumiem, patrząc na inne języki które znam, ale w tym mam problem jak przekształcić "plik->d_name " na zmienną na przykład typu STRING.


    W C++ operatory można przeciążać, więc biblioteki standardowe to stosują i
    normalnie możesz podstawić:

    Kod: c
    Zaloguj się, aby zobaczyć kod



    Ale nie jest to niezbędne, cały czas masz dostępne funkcje z C do operowania na char[].

    Kod: c
    Zaloguj się, aby zobaczyć kod


    Musisz tylko pamiętać, że aktualnie rozszerzenie nazwy pliku to rzecz umowna - może nawet nie być kropki w nazwie.

    0
  • #5 22 Maj 2017 07:26
    AJOT74
    Poziom 10  

    krru napisał:
    Musisz tylko pamiętać, że aktualnie rozszerzenie nazwy pliku to rzecz umowna - może nawet nie być kropki w nazwie.


    O tym wiem, ale moja znajomość C++ jest na razie mizerna a chodzi mi o napisanie prostego programu który w folderze gdzie jest kilka tysięcy plików posortuje je według rozszerzenia, czyli utworzy folder z danym rozszerzeniem i tam przesunie dany plik. Można by to zrobić ręcznie, ale wykonywać takie operacje kilkaset razy jest uciążliwe.

    0
  • #7 22 Maj 2017 21:20
    AJOT74
    Poziom 10  

    Już nie będę zakładał dodatkowego tematu, opanowałem odczytanie rozszerzenia pliku a teraz znowu po kilku godzinach przeglądania internetu mam pytanie jak odczytać datę modyfikacji listowanego pliku? -w ogóle nie wiem jak się za to zabrać. A chodzi mi oto, aby na podstawie daty modyfikacji stworzyć folder, np.: 2017-05-22 (tyle, że z tym tworzeniem folderu jestem w stanie sobie już poradzić), ale jak tą datę odczytać i do jakiego typu zmiennej ją przesunąć?

    Jak do tej pory stworzyłem coś takiego:

    Kod: c
    Zaloguj się, aby zobaczyć kod



    Chcę odczytać datę modyfikacji pliku i z tego co mi się wydaje źle deklaruję zmienną "dane".
    Ma ktoś pomysł lub wiedzę jak to ogarnąć?


    W końcu mi się udało, ale....
    Kod: c
    Zaloguj się, aby zobaczyć kod


    Program się wykonuje a następnie wykonuje CRASH -i co jest przyczyną? Dodam, że kod czy działa w konsoli czy w okienkach windows zawsze robi to samo -czyli po zakończeniu CRASH (o ile dobrze piszę).

    0
  • #8 29 Maj 2017 19:43
    AJOT74
    Poziom 10  

    Doszedłem do czegoś takiego:

    Kod: c
    Zaloguj się, aby zobaczyć kod


    Wszystko działa, ale po zakończeniu czy to w konsoli czy w okienkach windows następuje CRASH -co jest przyczyną?

    0
  • #9 29 Maj 2017 20:33
    2675900
    Użytkownik usunął konto  
  • #10 29 Maj 2017 21:06
    AJOT74
    Poziom 10  

    c++ Jak odczytać rozszerzenie pliku i wysłać go do zmiennej?

    Rozwiązanie problemu:
    Zamiast:

    Kod: c
    Zaloguj się, aby zobaczyć kod

    Musi być:
    Kod: c
    Zaloguj się, aby zobaczyć kod

    0