AJOT74 Temat założony przez niniejszego użytkownika |
Data modyfikacji pliku » 2017-05-23 10:57:16 Mam coś takiego:
pliczek="test.txt"; int dane; ifstream plik; plik.open( pliczek.c_str() ); GetFileTime( plik, NULL, NULL, dane ); plik.close();
Chcę odczytać datę modyfikacji pliku i z tego co mi się wydaje źle deklaruję zmienną "dane". Ma ktoś pomysł lub wiedzę jak to ogarnąć?
|
|
karambaHZP |
» 2017-05-23 11:53:03 |
|
AJOT74 Temat założony przez niniejszego użytkownika |
» 2017-05-23 13:08:23 Tyle, że wsDEV C++ oraz Code::Blocks rozsypuje się przy: #include <strsafe.h> Pogryzłem to tal: string pliczek, rok, mies, dzien;
FILETIME dane; SYSTEMTIME danex, daney; HANDLE hPlik;
pliczek = "test.txt";
hPlik = CreateFile( pliczek.c_str(), GENERIC_READ, 0, NULL, OPEN_EXISTING, 0, NULL ); GetFileTime( hPlik, NULL, NULL, & dane ); CloseHandle( hPlik ); FileTimeToSystemTime( & dane, & daney ); SystemTimeToTzSpecificLocalTime( NULL, & daney, & danex );
printf( "Rok %d, Mies. %d, Dzien %d\n", danex.wYear, danex.wMonth, danex.wDay );
rok =( danex.wYear );
printf( rok.c_str() );
No i wyświetlają się jakieś znaczki zamiast roku w zapisie cyfrowym. Jak to zrobić, aby pojawił się zapis cyfrowy? |
|
karambaHZP |
» 2017-05-24 10:47:53 #include <Windows.h> #include <string> #include <cstdio> using namespace std;
int main() { wstring pliczek, rok, mies, dzien; FILETIME dane; SYSTEMTIME danex, daney; HANDLE hPlik; pliczek = L"test.txt"; hPlik = CreateFile( pliczek.c_str(), GENERIC_READ, 0, NULL, OPEN_EXISTING, 0, NULL ); GetFileTime( hPlik, NULL, NULL, & dane ); CloseHandle( hPlik ); FileTimeToSystemTime( & dane, & daney ); SystemTimeToTzSpecificLocalTime( NULL, & daney, & danex ); printf( "Rok %d, Mies. %d, Dzien %d\n", danex.wYear, danex.wMonth, danex.wDay ); rok = std::to_wstring(( danex.wYear ) ); wprintf( rok.c_str() ); } output: Rok 2017, Mies. 5, Dzien 24 Kompilacja na Visual Studio. Niestety nie znam Dev. Na temat, różnic w implementacji kompilatora w devie musi wypowiedzieć się ktoś, kto zna to IDE. edit: edytowany kod. |
|
AJOT74 Temat założony przez niniejszego użytkownika |
» 2017-05-24 11:34:39 To mi nie wchodzi, zrobiłem tak: sprintf(( char * ) rok.c_str(), "%d", danex.wYear ); sprintf(( char * ) mies.c_str(), "%d", danex.wMonth ); sprintf(( char * ) dzien.c_str(), "%d", danex.wDay );
-niby działa, ale jak program się kończy to Windows zgłasza błąd. |
|
karambaHZP |
» 2017-05-24 11:48:02 jak program się kończy to Windows zgłasza błąd. |
Komunikat + google. |
|
AJOT74 Temat założony przez niniejszego użytkownika |
» 2017-05-24 12:13:52 OK, chory Windows 10 |
|
« 1 » |