char Array mit CString füllen
-
Hi, mal ne Frage

Ich hab vor mit MFC einen Dialog zu schreiben, der Text codiert. Nu muss ich dazu aber irgendwie an die char-Werte als Array kommen um ihn zu codieren Ungefähr so:CString sString="Hallo Welt!"; char acText[256]; float afCode[256]; //Jetzt irgendwie die den String aus sString nach acText kopieren (wie strcpy ungefähr) for(int i=0;i<256;i ) afCode[i]=float(int(acText[i]))/2.F; //Codieren //Jetzt sollten alle acText-Werte verschlüsselt in afCode liegen
Gibt\\'s für sowas Funktionen, etc. ? PS: Ich weiß, dass es eine schlechte verschlüsselung ist... 
-
probiers mal damit
// ungetestet ausn kopf
float fNumber = 0.0; CString strNumber = _T("1.2"); fNumber = _tstof(strNumber.GetString()); int iNumber = 0; iNumber = _tstoi(strNumber.GetString());nichts desto trotz - schau dir mal GetBuffer, und GetString an, da gibts glaub ich noch ein weiteres, einfach die members von CStringT durchschaun
fuer convertierungen von wchar_t zu char und umgekehrt gibt es MultibyteToWideChar sowie WideCharToMultiByte
-
den [] Operator kennst du ja bereits. Dann gibts noch die Möglichkeit über GetBuffer:
CString Text = "Hallo Welt"; // hab das jetzt mal dynamisch gemacht char* acText = new char[Text.GetLength() + 1]; // + 1 für '\0' float* afCode= new float[Text.GetLength()]; memset(acText,0,Text.GetLenght()); strcpy( acText, Text.GetBuffer(Text.GetLength()), Text.GetLenght() ); int i = 0; for(i=0;i<Text.GetLength();i++ ) afCode[i]=float(int(acText[i]))/2.F; //Codieren // mit new[] angeforderter Speicher wieder mit delete[] löschen (wichtig!) delete[] acText; delete[] afCode;
-
Danke!

Es klappt!Was macht eigentlich memset?
Bei mir klappts auch ohne.
-
Vox 3D schrieb:
Was macht eigentlich memset?
Sei mal nicht so faul. Frag google oder direkt die MSDN!
-
Was passiert, wenn Du in Visual Studio den Cursor auf memset positionierst und F1 drückst?
-
memset oder was ähnliches wird aber von strcpy schon aufgerufen, deshalb unnötig.
Das mit Visual Studio geht nicht weil die CD1 von MSDN einen gewaltigen Kratzer hat (Problem: kleiner Bruder...) und ja, ich weiß dass die MSDN online ist, darüber hab ichs ja auch rausgefunden.