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

Wysyłanie pliku na FTP _ data w nazwie pliku

Ostatnio zmodyfikowano 2012-05-28 23:13
Autor Wiadomość
sync667
Temat założony przez niniejszego użytkownika
Wysyłanie pliku na FTP _ data w nazwie pliku
» 2012-05-28 14:54:45
witam

kombinuje już od jakiegoś czasu z funkcją wysyłającą mi plik na ftp
http://pastebin.com/TNh23P5q
działa ona poprawnie lecz ja chce aby
C/C++
char remoteFile[] = "/ring.wav_";
po _ w ścieżce do remotefile program dopisywał mi datę oraz nazwę aktywnego użytkownika
próbowałem już różnych rozwiązać i nic więc zwracam się z prośbą o pomoc tutaj

używam Dev C++ najnowsza wersja lecz posiadam również dostęp do VS2010


...

jeśli jakieś informacji brakuje piszcie
P-57381
DejaVu
» 2012-05-28 15:33:12
Kod się wkleja na forum (nikt nie ma w zwyczaju błąkać się gdzieś indziej aby obejrzeć kod). Nie napisałeś również za pomocą czego wysyłasz plik na serwer FTP.
P-57383
sync667
Temat założony przez niniejszego użytkownika
» 2012-05-28 15:43:01
C/C++
int WyslijPlik() // funkcja ftp sender
{
   
    char ftp[] = "*******";
   
    char user[] = "*******";
   
    char password[] = "*******";
   
    char localFile[] = "C:\\Users\\*******\\Documents\\mh\\ring.wav";
   
    char remoteFile[] = "/ring.wav_";
   
    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, ftp, INTERNET_DEFAULT_FTP_PORT, user, password, INTERNET_SERVICE_FTP, INTERNET_FLAG_PASSIVE, 0 );
       
        if( hFtpSession != NULL ) {
           
            if( FtpPutFile( hFtpSession, localFile, remoteFile, FTP_TRANSFER_TYPE_BINARY, 0 ) ) {
               
                InternetCloseHandle( hFtpSession );
               
                InternetCloseHandle( hInternet );
               
            }
            else {
                cout << "Blad podczas wysylania pliu." << endl;
                return - 1;
            }
           
           
        }
       
        else return - 1;
       
       
    }
   
    else return - 1;
   
    cout << "Wyslano Plik.\n" << endl;
   
    return 0;
   
};
proszę a wysyłam za pomocą libwininet.a
jeśli o to ci chodziło
dodatkowo
C/C++
#pragma comment (lib, "Wininet.lib");
#include <wininet.h>
P-57384
xevuel
» 2012-05-28 15:50:40
Wysyłanie pliku Ci działa, i chodzi Ci tylko o to, żeby do nazwy pliku dopisać jakąś treść, tak?
Dokumentacja
strcatScala dwa łańcuchy znaków w jeden. (funkcja)
strcpyKopiuje łańcuch znaków do tablicy znaków. (funkcja)
P-57385
sync667
Temat założony przez niniejszego użytkownika
» 2012-05-28 16:10:56
wydaje mi się że nie do końca mnie zrozumiałeś
treść ta ma być najpewniej zmienną .. czyli będzie dynamiczna

chce wykorzystać
http://msdn.microsoft.com/en-us/library/windows/desktop/ms724432(v=vs.85).aspx

jak i również dodać za pomocą funkcji czasu datę z godziną


więc nie za bardzo rozumiem jak mi ma pomóc łączenie łańcuchów znaków ?
zdaje mi się że jest taka opcja przekazania zmiennej do tej ścieżki tylko nie wiem jaka
P-57386
xevuel
» 2012-05-28 16:15:06
Jeśli chodzi Ci o to, że użytkownik wybiera sobie jakiś plik, Ty zapisujesz jego nazwę i dodajesz do niej np. Imię tego użytkownika (czy godzinę - nvm), to te funkcje jak najbardziej się nadają. Ty w ogóle wiesz, czym są łańcuchy znaków? Bo mam wrażenie, że chcesz coś osiągnąć, ale kompletnie nie wiesz jak to coś uzyskać, bo brakuje ci podstaw.
P-57388
sync667
Temat założony przez niniejszego użytkownika
» 2012-05-28 16:23:05
użytkownik nie wybiera nazwy pliku .. plik jest po stałą nazwą

jedynie ja definiuje jak plik ma się nazywać po wysłaniu go na ftp
i właśnie do tej definicji remotefile chce dodać pobraną przez program nazwę użytkownika jak i również datę
lecz jedyny problem jest taki że do końca nie wiem jak miedzy znaki "" dodać jakąś zmienną

gdy próbuję char remotefile[] = "/ring.wav_%s", zmienna;
to mam problem gdyż program już wtedy definiuje jakoś nazwę zmienna jako char
P-57389
xevuel
» 2012-05-28 16:38:46
I od razu wiadomo o co chodzi. Rozwiązanie masz podane jak na tacy już od dwóch postów, tylko nie chciało Ci się przeczytać ze zrozumieniem tego, co jest tam napisane. Podam jeszcze jeden link, może ten Ci coś rozjaśni: » standard Csprintf.
P-57390
« 1 » 2
  Strona 1 z 2 Następna strona