WritePrivateProfileString Fehler
-
Poste noch mal Dein vollständigen Code...
Welche IDE? VC2005? Dann solltest Du auch TCHAR verwenden und das _T oder TEXT makro!
-
Also der Code:
#include <fstream> #include "stdafx.h" #include <iostream> #include <stdio.h> #include <windows.h> using namespace std; int main() { WritePrivateProfileString("common","EinPfad","c:\\lol\\","test.ini"); WritePrivateProfileString("common","Nochwas","1","test.ini"); WritePrivateProfileString("bla","test","0","test.ini"); cout<<"Fertig\n"; cin.get(); }Ich benutze VC++ 2005 Express
Dann solltest Du auch TCHAR verwenden und das _T oder TEXT makro!
Und ledier blick ich net was du damit meinst.
-
Erstens: Für WritePrivateProfileString benötigst du den Header <windows.h> (das steht aber in der MSDN bei jeder Funktion dabei).
Zweitens:
Dercodiminator schrieb:
Ich benutze VC++ 2005 Express
Dann solltest Du auch TCHAR verwenden und das _T oder TEXT makro!
Und ledier blick ich net was du damit meinst.
Such mal im Magazin nach dem Thema UNICODE, da dürftest du auch einige Erklärungen dazu finden (Kurzfassung: ASCII-Modus verwendet char, UNICODE-Modus wchar_t - zur leichteren Umschaltung gibt es TCHAR und Familie, das je nach Bedarf als char oder wchar_t definiert ist (LPCTSTR = const TCHAR* gehört auch dazu ;)))
-
Ok nun hats geklapt.
Nun hab ich noch das problem das ich das mit den LPCTSTR nicht hinbekomme, kanst du vileicht mal sen code posten? Also wie ich das z.b. "common" machen muss.
-
Wie Jochen schon gesagt hat - alle deine String mit dem _T Makro "vorbehandeln":
WritePrivateProfileString(_T("common"),_T("EinPfad"),_T("c:\\lol\\"),_T("test.ini"));
-
Achso ok danke ich probirs mal.
-
Also hat geklapt. Bloss wie macht man das bei int? bei den Labeln kan man die ja einfach mit Convert::ToString machen aber das get hier nicht. Und beim googeln hab ich auch nix gefunden.
-
Dercodiminator schrieb:
Convert::ToString
Wo kommt denn jetzt auf einmal das "Convert::ToString" her???
Du bringst hier C++/CLI und C++ etwas durcheinander! Das ist nicht gut... und gleich gar nicht zum lernen!
-
Das war ja nur als Beispiel für ne umwandlung gemeint. aber könt ihr mir vileicht mal sagen wie man int in LPCTSTR umwandeln kann?
-
LPCTSTR ist ein Zeiger auf TCHAR. Du Könntest also einen TCHAR array nehmen und atoi bzw. die TCHAR Varainat everwenden (siehe MSDN).
CString::Format tut es natürlich auch weil CString eine eingebaute Umwandlung auf const * TCHAR (LPCTSTR) hat.