Ich habe const void *pString
das ist ein Zeiger auf die Zeichenfolge zu analysieren. Nehmen wir an, dass es einen Wert ABCD enthält, ich möchte die Zeichenfolge ABCD daraus erhalten, kann jemand helfen? Wenn ich versuche, char *ptr = (char *) pString;
zu verwenden, dann verwenden ptr[0]
es gibt A ptr[1]
es ptr[2]
leer gibt es B ptr[3]
gibt es gibt leer und so weiter.const void * pString zu string
-2
A
Antwort
0
Verwenden WCHAR Zeichenfolge für ScriptStringAnalyse(),
dann
...
wstring ws(...);
string str(ws.begin(), ws.end());
...
str[0]
0
WCHAR half hier und ich war in der Lage, die Ausgabe mit dem folgenden Code-Schnipsel zu erhalten:
const WCHAR *ptr = (const WCHAR *)pString;
char *pmbbuf = (char*) malloc(len + 1);
if (pmbbuf != NULL) {
wcstombs(pmbbuf, (LPCWSTR) ptr, len);
string str = string(pmbbuf);
}
Verwandte Themen
- 1. Ist "const LPVOID" äquivalent zu "void * const"?
- 2. Was ist const void?
- 3. const void * Zeiger in ctypes
- 4. Umwandlung von const char * zu const std :: string &
- 5. Was macht const in void foo (const int a)?
- 6. Umwandlung von void in String - void zu Objektproblem?
- 7. Converting System :: String zu Const Char *
- 8. const_cast zu "void pointer" von "const T pointer" schlägt fehl
- 9. Welches zu const char [] oder const std :: string?
- 10. String Hateoas Link zu einer Void-Methode
- 11. String & String :: Concat (const char Str [])
- 12. operator std :: string() const?
- 13. Delphi const string Code
- 14. Übertragung Eigentum von unique_ptr <T, void (*) (T *)> unique_ptr <const T, void (*) (const T *)>
- 15. Const TiXmlString kann nicht in const konvertiert werden std :: string &
- 16. Verwendung von & nach Const String
- 17. Warum wird beim Hinzufügen von zwei Zeichenfolgenliteralen nicht der Operator + verwendet (const string &, const string &)?
- 18. Wie funktioniert AsyncTask <String, Void, Void>?
- 19. Implizite Besetzung von const String bool
- 20. Unterschied zwischen virtuellem void funcFoo() const = 0 und virtuellem void funcFoo() = 0;
- 21. Holen Sie sich den Inhalt einer const void
- 22. Casting void * zu anderen Arten
- 23. Pthread C++ ungültige Konversation von void * (*) zu void * (*) (void *)
- 24. C++ Übergabe eines String-Literals anstelle einer const std :: string &?
- 25. Ist die zweite Konstante in void f (char const * const p)?
- 26. String-Literale durch private const-Anweisungen ersetzen
- 27. Wie v8 :: String konvertieren char const *
- 28. Cross-Plattform-Socket senden, Puffer const void * auf Linux const Char * auf Windows, beste Art und Weise zu behandeln?
- 29. Return std :: string als const Referenz
- 30. Konvertieren von void * in eine std :: string
Sieht aus wie ' pString' ist ein [wide string] (https://en.wikipedia.org/wiki/Wide_character)? – w1ck3dg0ph3r
Bitte geben Sie Ihre Hardware-Plattform, Compiler Toolchain und Betriebssystem an. –
pString wird von dieser API empfangen https://msdn.microsoft.com/en-us/library/windows/desktop/dd368566(v=vs.85).aspx. Wie msdn Dokument sagt es nur seinen Zeiger auf eine Zeichenfolge, die Unicode oder Zeichensatz von ANSI sein kann. –