Problem mit Befehlen/Syntax - Anfänger
-
grüße
ich hab ein problem mit einem programm, dieses funktioniert soweit ganz gut, jedoch möchte ich noch was hinzufügen, jedoch klappt dies nicht so wie ich möchte.nun zu erst was ich vor habe:
ich habe eine ini-datei und eine exe, in der ini wird die variable "test_var" mit dem wert "5" deklariert, diese wird dann an die exe weitergegeben und im quellcode weiterverarbeitet (siehe "Datei drei"). so das funktioniert auch, nun hab ich nur das problem das ich in der ini datei 5 "test" variablen (test1,test2,test3,...) und diese sollen wie gezeigt (Datei drei) in das array "szTest" gebracht werden, um später abgerufen zu werden.so nun zu meinem problem:
da ich noch recht wenig mit c++ gearbeitet habe, kenn ich mich damit nicht wirklich richtig aus, zwar kann ich dank vb/php/c# kenntnisse das nachvollziehen was ich theoretisch machen müsste, jedoch klappt dies nicht wirklich (wie man unten sieht denke ich).datei eins ist eine ini-datei wo die variablen "test_var" und "test" bestimmt wird.
//ExE /bzw Datei zwei .cpp) struct inisetting { TCHAR szTestVar[MAXARRSIZE]; TCHAR szTest[MAXARRSIZE]; } //ExE (bzw. Datei drei .cpp) struct inisetting settings; int TestNumb = 1; if(GetPrivateProfileString("server", "test_var", NULL, settings.szTestVar, sizeof(settings.szTestVar) / sizeof(settings.szTestVar[0]), INIFILE) <= 0) throw "Falsche Eingabe"; while(TestNumb == settings.szTestVar){ if(GetPrivateProfileString("server", "test"+TestNumb, NULL, settings.szTest, sizeof(settings.szTest) / sizeof(settings.szTest[0]), INIFILE) <= 0) throw "Falsche Eingabe in Variable test"+TestNumb; TestNumb = TestNumb + 1; } //!!!Es ist nurn Versuch/Beispiel!!!deshalb bitte helft mir, indem ihr mir vieleicht sagen könnt wie ich das lösen, bzw wie ich es schreiben kann/muss damit es funktioniert.
ich bedanke mir für jegliche hilfe schonmal.
mfg
Warkiller102PS: das programm ist nicht von mir, daher weiß ich nicht 100%ig ob es c++ ist, falls nicht tut es mir leid.
-
"test"+TestNumbso kannst du in C++ keine Zahl an nen String anhängen.
-
#include <sstream> ... int numb = 2; std::stringstream str; str << "irgendwie text: " << numb;Und wenn du einen C-String brauchst:
str.str ().c_str ();
-
erstmal vielen dank für die hilfe.
nun nur kann ich damit irgendwie grad garnichts anfangen, bzw ich weiß nicht wie ich das nun einbinden kann.
habs jetzt erstmal so und komm da nicht weiter:
#include <sstream> ... int TestNumb = 2; std::stringstream str; if(GetPrivateProfileString("server", "test(hier soll noch die TestNumb hin)", NULL, settings.szTest, sizeof(settings.szTest) / sizeof(settings.szTest[0]), INIFILE) <= 0) throw "Falsche Eingabe in Variable test(hier soll noch die TestNumb hin)";könnt ihr mir da bitte nochmal helfen, ich weiß nicht wie ich das nun wirklich einbinden kann, bzw wie ich das dann zu nur var bekomme um die weiterzuverwenden.
mfg
Warkiller102
-
str << "test(" << TestNumb << ")"; if ..., str.str().c_str(), ...
-
mhh wenn ich es so mache kommt bei throw nur eine leere box.
demzufolge glaub ich auch das es bei "if(...,str.str().c_str(),.." etwas leeres ausgibt, muss ich da noch was anders machen?
mfg
Warkiller102PS: wär ganz nett vieleicht etwas zu den zeilen zu schreiben, is mein erstes mal das ich wirklich intensiv mit c++ arbeite.