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

[C++] Dodanie daty do nazwy pliku przesyłanego na FTP

Ostatnio zmodyfikowano 2014-04-21 15:57
Autor Wiadomość
baran860
Temat założony przez niniejszego użytkownika
[C++] Dodanie daty do nazwy pliku przesyłanego na FTP
» 2014-04-21 14:25:06
Siema, mam taki oto programik:

C/C++
#include "stdafx.h"
#include "Win32Project2.h"
#include <Windows.h>
#include <wininet.h>


using namespace std;
int WyslijPlik() {
    HINTERNET hInternet;
    HINTERNET hFtpSession;
    if( InternetAttemptConnect( 0 ) == ERROR_SUCCESS ) cout << "Internet dostepny, wysylanie pliku..\n" << endl;
    else { cout << "Internet niedostepny.\n" << endl; return - 1; }
    hInternet = InternetOpen( NULL, INTERNET_OPEN_TYPE_DIRECT, NULL, NULL, 0 );
    if( hInternet != NULL ) {
        hFtpSession = InternetConnect( hInternet, L"ftp.baran860work.za.pl", INTERNET_DEFAULT_FTP_PORT, L"baran860work.za.pl", L"haslo_ftp", INTERNET_SERVICE_FTP, INTERNET_FLAG_PASSIVE, 0 );
        if( hFtpSession != NULL ) {
            if( FtpPutFile( hFtpSession, L"plik_do_wyslania.txt", L"nazwa_pliku_na_serwerze.txt", FTP_TRANSFER_TYPE_BINARY, 0 ) ) {
                InternetCloseHandle( hFtpSession );
                InternetCloseHandle( hInternet );
            }
            else {
                cout << "Nie wyslalem pliku." << endl;
                return - 1;
            }
        }
        else return - 1;
       
    }
    else return - 1;
   
    cout << "Pomyslnie wyslano plik.\n" << endl;
   
    return 0;
}
int main()
{
    // Ukrycie konsoli
    // HWND okno = GetConsoleWindow();
    // ShowWindow(okno, SW_HIDE);
    WyslijPlik();
   
    return 0;
}


Program po uruchomieniu "pobiera" plik "plik_do_wyslania.txt" i następnie wysyła go na serwer ze zmienioną nazwą ("nazwa_pliku_na_serwerze.txt") jednak ja bym chciał aby nazwą pliku na serwerze była aktualna data, nie ważne w jakim formacie.
Np. "plik_"+"2014.04.21 13;40"+".txt";
 
 
Bardzo proszę o pomoc oraz wzięcie pod uwagę iż jestem początkujący.
P-108465
SeaMonster131
» 2014-04-21 14:40:58
Frazy, które należy wpisać w wyszukiwarkę google:

» Kurs C++Biblioteka <time.h> lekcja
P-108467
baran860
Temat założony przez niniejszego użytkownika
» 2014-04-21 15:09:05
C/C++
#include "stdafx.h"
#include "Win32Project2.h"
#include <Windows.h>
#include <wininet.h>


using namespace std;
int WyslijPlik() {
    HINTERNET hInternet;
    HINTERNET hFtpSession;
    SYSTEMTIME time;
    GetSystemTime( & time );
    char buf[ 16 ];
    sprintf_s( buf, "plik_%.4d-%.2d-%.2d.txt", time.wYear, time.wMonth, time.wDay );
   
    if( InternetAttemptConnect( 0 ) == ERROR_SUCCESS ) cout << "Internet dostepny, wysylanie pliku..\n" << endl;
    else { cout << "Internet niedostepny.\n" << endl; return - 1; }
    hInternet = InternetOpen( NULL, INTERNET_OPEN_TYPE_DIRECT, NULL, NULL, 0 );
    if( hInternet != NULL ) {
        hFtpSession = InternetConnect( hInternet, L"ftp.baran860work.za.pl", INTERNET_DEFAULT_FTP_PORT, L"baran860work.za.pl", L"haslo_ftp", INTERNET_SERVICE_FTP, INTERNET_FLAG_PASSIVE, 0 );
        if( hFtpSession != NULL ) {
            if( FtpPutFile( hFtpSession, L"sysell.txt", buf, FTP_TRANSFER_TYPE_BINARY, 0 ) ) {
                InternetCloseHandle( hFtpSession );
                InternetCloseHandle( hInternet );
            }
            else {
                cout << "Nie wyslalem pliku." << endl;
                return - 1;
            }
        }
        else return - 1;
       
    }
    else return - 1;
   
    cout << "Pomyslnie wyslano plik.\n" << endl;
   
    return 0;
}
int main()
{
    // Ukrycie konsoli
    // HWND okno = GetConsoleWindow();
    // ShowWindow(okno, SW_HIDE);
    WyslijPlik();
   
    return 0;
}


Lecz kompilator "krzyczy":


Błąd 1 error C2664: „BOOL FtpPutFileW(HINTERNET,LPCWSTR,LPCWSTR,DWORD,DWORD_PTR)” : nie można dokonać konwersji argumentu 3 z „char [16]” do „LPCWSTR” c:\users\baran860\documents\visual studio 2013\projects\win32project2\win32project2\win32project2.cpp 22 1 Win32Project2


oraz

2 IntelliSense: argument of type "char *" is incompatible with parameter of type "LPCWSTR" c:\Users\baran860\Documents\Visual Studio 2013\Projects\Win32Project2\Win32Project2\Win32Project2.cpp 22 47 Win32Project2



W jaki sposób muszę podać tego stringa do funkcji FtpPutFile bo przedtem  udało mi się "wyguglować" że wystarczy przedrostek L
P-108469
MrPoxipol
» 2014-04-21 15:39:40
P-108470
baran860
Temat założony przez niniejszego użytkownika
» 2014-04-21 15:57:03
Problem rozwiązany.
Udało się z waszą pomocą oraz z pomocą użytkowników z MPCForum:

http://www.mpcforum.pl/topic/1191125-cproblem-z-nadaniem-daty-do-nazwy-pliku

W linku wyżej jest rozwiązanie.
P-108472
« 1 »
  Strona 1 z 1