InternetConnect : Konvertierung von 'const char [16]' in 'LPCWSTR' nicht möglich

Hookah

Erfahrenes Mitglied
InternetConnect() und FtpPutFile Probleme

Edit : Das Problem ist beseitigt ,habe nur den Titel geändert
Neues Problem ist im dritten Post zu lesen - Danke

------

Ich bastel mir grad ein Progrämmchen zusammen das aus einer Datenbank was ausliest ( einen Dateinamen) und diese Datei soll dann zum Beispiel auf uploaded.to hochgeladen werden (per ftp)

Nun hab ich so einiges gefunden zum Thema FTP Upload mit WinInet
Und bevor ich weiter versuche muss ich ersmal InternetConnect
zu stande bekommen

Folgende Zeile

Code:
hFtp=InternetConnect(hInternet,"ftp.uploaded.to",21,"bone","**PAsswort***",INTERNET_SERVICE_FTP,INTERNET_FLAG_PASSIVE,0);

bringt mir den Fehler

Code:
 error C2664: 'InternetConnectW': Konvertierung des Parameters 2 von 'const char [16]' in 'LPCWSTR' nicht möglich
1>        Die Typen, auf die verwiesen wird, sind nicht verknüpft; die Konvertierung erfordert einen reinterpret_cast-Operator oder eine Typumwandlung im C- oder Funktionsformat.

Ist es denn nicht richtig als zweiten Parameter die URL anzugeben?
Die vom FTP von Uploaded.to ist ftp.uploaded.to

MIt einem FTP Client kann ich auch drauf zugreifen

Bin echt totaler Anfänger was C++ betrifft und les schon seit Stunden was dazu.

Was hab ich falsch gemacht?
Wie hat es richtig auszusehen?:confused:
 
Zuletzt bearbeitet:
Hi.

Entweder, du schaltest im Projekt die Verwendung des UNICODE Zeichensatzes ab, oder du verwendest die generischen Funktionen bzw. Makros aus tchar.h:

C:
hFtp=InternetConnect(hInternet,
  TEXT("ftp.uploaded.to"), 21, TEXT("bone"), TEXT("**PAsswort***"),
  INTERNET_SERVICE_FTP,INTERNET_FLAG_PASSIVE,0);
Gruß
 
Super , das hat geklappt :)

Jetzt gibts keinen Fehler mehr beim kompilieren


Vielleicht kann mir ja einer noch dabei helfen

Den Pfad zu einer Datei möcht ich aus einer DB auslesen ( das klappt schon)

und dann möcht ich mit FtpPutFile()
die Datei hochladen

Ersmal geht es mir ums hochladen

Dazu hab ich dann mal eingegeben
Code:
FtpPutFile(hInternet, TEXT("C:\Release.rar"),TEXT("Release.rar"), FTP_TRANSFER_TYPE_BINARY, 0);

Der zweite Parameter ist doch der Pfad zur Datei auf dem Rechner oder?
Hab ich dann mal den Pfad eingegeben wie oben zu sehen

Ohne TEXT ("") gibts wieder einen Fehler wie oben
Der dritte Parameter ist doch der Name der Datei nach dem Upload oder ist das nicht richtig?

Auf jedenfall funktioniert es nicht

Hier mal der Code:
Code:
#include "stdafx.h"

#include <iostream>
#include <sstream>
#include <memory>
#include <string>
#include <stdexcept>


#include <windows.h>
#include <wininet.h>
#include <process.h>
#include<conio.h>
#include<wininet.h>
#pragma comment(lib, "Wininet.lib")
#pragma comment(lib, "ws2_32")

using namespace std;
using namespace sql;


    HINTERNET hInternet,hFtp,hFtpRead,hFtpOpen;
    WIN32_FIND_DATA wfd={0};
    TCHAR Buffer[100]={0};




int main()
{

	hInternet=InternetOpen(L"ftp-client",INTERNET_OPEN_TYPE_PRECONFIG,0,0,INTERNET_FLAG_ASYNC);
	hFtp=InternetConnect(hInternet, TEXT("ftp.uploaded.to"),21,TEXT("bone"),TEXT("**Passwort**"),INTERNET_SERVICE_FTP,INTERNET_FLAG_PASSIVE,0);
    if(!hFtp)
    {

	cout << "Verbindung nicht hergestellt";

	}


	FtpPutFile(hInternet, TEXT("C:\Release.rar"),TEXT("Release.rar"), FTP_TRANSFER_TYPE_BINARY, 0);

        cin.get();
	return 0;

  }

Was mir aber noch aufgefallen ist ist das wenn ich ein falsches Passwort eingebe
trotz des if(!hFtp) kein "Verbindung nicht hergestellt" ausgegeben bekomme

Also weiss ich nicht ob es am FtpPutFile liegt oder einfach daran das keine Verbindung zustande kommt

Wie kann ich das denn rausfinden?
 
Zurück