Rückgabe wchar_t
-
Hallo ich möchte über GetPrivateProfileString Daten einlesen, diese dann in einem Objekt der Klasse read_serverlist speichern und dann in der aufrufenden Umgebung mir die Daten ausgeben lassen. Wenn ich statt wchar_t int verwende funktioniert es auch. Bei wchar_t wird wird jedoch nichts ausgegeben.Wieso?
read_serverlist::read_serverlist(void) { GetPrivateProfileString(szSectionName, szKeyName_s, DefaultValue, servername, (sizeof(servername))/(sizeof(wchar_t)), szFilename); cout << GetLastError()<<"\n"; wcout << servername << "\n"; //Hier wird noch richtig ausgegeben } wchar_t read_serverlist::give_data(void) { cout << "test"; //ausgegeben return servername[250]; }Aufrudende Umgebung
read_serverlist LeseListe; wcout << LeseListe.give_data();//Hier wird nichts ausgegeben, bei int als Rückgabe funktioniert es jedochIn read_serverlist.h
#pragma once class read_serverlist { public: read_serverlist(void); wchar_t read_serverlist::give_data(void); wchar_t servername[250]; //bei Eigenschaft als int funktioniert wchar_t login_user[250]; wchar_t password[150]; wchar_t source_txt[150]; wchar_t destination_txt[250]; wchar_t destination_folder[250]; public: ~read_serverlist(void); };
-
wchar_t ist 1 Zeichen und kein String!
Beschätfige Dich etwas mehr damit wie Zeichenketten in C/C++ verwendet werden oder nimm gleich std::wstring, oder CString oder CStringW!
-
Habe es mit strings versucht. Ist aber danebengegangen.
'give_data': missing return type; assumed to be a member function returning 'int'
syntax error : missing ';' before identifier 'nameserver'In cpp-Datei
CString read_serverlist::give_data(void) { cout << "test"; return nameserver; }In Headerdatei
#pragma once #include <string.h> class read_serverlist { public: CString read_serverlist::give_data(void); read_serverlist(void); CString nameserver; wchar_t servername[250]; wchar_t login_user[250]; wchar_t password[150]; wchar_t source_txt[150]; wchar_t destination_txt[250]; wchar_t destination_folder[250]; public: ~read_serverlist(void); };Kann mir jemand vielleicht ein kleines Beispiel geben, wie man es richtig macht?
-
wulfgang schrieb:
In Headerdatei
#pragma once #include <string.h> class read_serverlist { public: CString give_data(void); read_serverlist(void); CString nameserver; wchar_t servername[250]; wchar_t login_user[250]; wchar_t password[150]; wchar_t source_txt[150]; wchar_t destination_txt[250]; wchar_t destination_folder[250]; public: ~read_serverlist(void); };give_data in der Headerdatei is falsch definiert, meiner Meinung nach.
Gruß