Seite 1 von 1

[Problem Gelöst] [Danke macman] QString in Char* ???

Verfasst: 7. April 2006 13:28
von Coca
Wie kriege ich dies am besten gelöst ???

Code: Alles auswählen


QString sInifile = "c:\\AutoCheck.ini";
QString sDN, sRootCa, sCrlPath;

settings.beginGroup("CryptToolKit");
	sRootCa = settings.value("RootCertificate").toString();
	settings.endGroup();

Code: Alles auswählen


fp = fopen(sRootCa, "rb");
	if ( fp == NULL )
	{
		rtc = -1;
	}

	lcacert = (int)fread(cacert, 1, sizeof(cacert), fp);
	fclose(fp);


Fehlermeldung:

Code: Alles auswählen

error C2664: 'fopen': Konvertierung des Parameters 1 von 'QString' in 'const char *' nicht möglich
        Kein benutzerdefinierter Konvertierungsoperator verfügbar, der diese Konvertierung durchführen kann, oder der Operator kann nicht aufgerufen werden

Verfasst: 7. April 2006 13:44
von macman
Coca hat geschrieben:Wie kriege ich dies am besten gelöst ???
So wie es in der Doku steht:
myString.toLatin1().constData();

Verfasst: 7. April 2006 13:50
von Coca
macman hat geschrieben:
Coca hat geschrieben:Wie kriege ich dies am besten gelöst ???
So wie es in der Doku steht:
myString.toLatin1().constData();

Wie meinst du das jetzt so ????

Code: Alles auswählen

fopen(sRootCa.toLatin1().constData(), "rb");

Verfasst: 7. April 2006 13:54
von Coca
Coca hat geschrieben:
macman hat geschrieben:
Coca hat geschrieben:Wie kriege ich dies am besten gelöst ???
So wie es in der Doku steht:
myString.toLatin1().constData();

Wie meinst du das jetzt so ????

Code: Alles auswählen

fopen(sRootCa.toLatin1().constData(), "rb");


Es hat geklappt was heißt dieses Latin1????

Verfasst: 7. April 2006 14:01
von macman

Verfasst: 7. April 2006 14:39
von Christian81
Und wenn man schon mit Qt arbeitet, sollte man nicht mit fopen/fread/fclose sondern QFile benutzen...

Verfasst: 7. April 2006 14:42
von Coca
Christian81 hat geschrieben:Und wenn man schon mit Qt arbeitet, sollte man nicht mit fopen/fread/fclose sondern QFile benutzen...

:lol:

Ich benutze im meinem Projekt noch eine anderes Projekt das mit bestimmten Crpyt Funktionen arbeitet und dies wurde c++ geschrieben.

Und dieses Program hatte schon ein Beispiel main. deshalb war es nur noch Copy und Paste und ein paar änderungen.