[C++]GetPrivateProfileString(error..)
Hey, wollte mal fragen, wie ich den Fehler in diesem QC behebe
Code:
#include "windows.h"
char EinPfad[500];
char Nochwas[500];
char Test[500];
DWORD destSize;
destSize=500;
GetPrivateProfileString("common","C:\\Users\\","NULL",EinPfad,destSize,"test.ini");
//GetPrivateProfileString("common","Nochwas","NULL",Nochwas,destSize,"test.ini");
//GetPrivateProfileString("bla","test","NULL",Test,destSize,"test.ini");
"EinPfad" steht für einen beliebigen Pfad .. c:\\ ..
Code:
error C2664: 'GetPrivateProfileString': Konvertierung des Parameters 1 von 'const char [7]' in 'LPCTSTR' nicht möglich
AW: [C++]GetPrivateProfileString(error..)
Hab dein Source mal bissel Fixed, jetzt funktioniert es.
Glaube allerdings du hast den aufbau einer Ini-Datei nicht ganz verstanden.. wäre das möglich?
Wayne hier der Source:
Code:
#include <iostream>
#include <windows.h>
using namespace std;
char EinPfad[500];
char Nochwas[500];
char Test[500];
DWORD destSize=500;
int main(){
GetPrivateProfileString("common","Part2","NULL",EinPfad,500,"./test.ini");
cout<<EinPfad<<endl;
cin.get();
}
Und hier die test.ini
Code:
[common]
Part2=Dein_Pfad
AW: [C++]GetPrivateProfileString(error..)
ok+ danke, ich geh mal werkeln ;)
EDIT:
hab deine edit gelesen, muss es nur in eine visual c++ anwendung einbauen
also:
Code:
private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) {
char EinPfad[500];
char Nochwas[500];
char Test[500];
DWORD destSize=500;
GetPrivateProfileString("common","Part2","NULL",EinPfad,500,"./test.ini");
}
aber dann tritt wieder der convert-fehler auf:
Code:
error C2664: 'GetPrivateProfileString': Konvertierung des Parameters 1 von 'const char [7]' in 'LPCTSTR' 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.
AW: [C++]GetPrivateProfileString(error..)
Poste mal deinen gesammten Source auf pastebin.com oder so, kann mit deinem bisherigen Source nicht viel anfangen, der Fehler scheint wo anders als in dem Code den du gepostet hast zu liegen :confused:
AW: [C++]GetPrivateProfileString(error..)
AW: [C++]GetPrivateProfileString(error..)
Ich Programmier sonst in Devc++ und nicht mit Visual C++ deswegen hab ich nicht sonderlich viel Ahnung davon, kann dir aber erklären was den Fehler verursacht.
GetPrivateProfileString wurde von Visual C++ dekladiert, die richtigen Api funktionen heißen eigendlich GetPrivateProfileStringW oder GetTPrivateProfileStringA ,jeweils für Unicode und jemals ohne Unicode. Jetzt kannst du Theoretisch vor deine Strings (z.b "Part2" jeweils ein L setzen,also z.b L"Part2") um das als Unicode zu kennzeichnen . So ließ es sich bei mir dann Compilieren, das problem dabei ist jedoch das es nen Lesefehler gibt ("Geschützter Systemspeicher" bei ner ini datei, ja ne is klar).. Schau einfach mal, bekommst du sicher besser hin als ich.
AW: [C++]GetPrivateProfileString(error..)
Wahrscheinlich hast du Unicode als Kodierung eingestellt. Entweder du verwendest auch Unicode oder du stellst es in den Projekteinstellungen von "Unicode" auf "Multibyte".
AW: [C++]GetPrivateProfileString(error..)
wie macht man das ? :* habs noch nicht so mit änderungen am compiler <..< hab bisher immer die standarteinstellungen benutzt ..
AW: [C++]GetPrivateProfileString(error..)
Weiß ich jetzt nicht genau. Bei Projekt -> Projekteintellungen oder so.
Dann öffnet sich ein Fenster und ich glaube gleich im Standard-Tab kann man das ändern.
AW: [C++]GetPrivateProfileString(error..)
Oben auf Project->Properities->Configuration Properities->Characterset