Во-первых, это НЕ дубликат: Превратите строку C с байтами NULL в массив символов , потому что данный ответ не работает, когда char *
в Unicode. 1004 *
Я думаю, что проблема в том, что, поскольку я пытаюсь использовать кодированные в UTF-8 символы char * вместо символов ASCII char *, а длина каждого символа различна, и, следовательно, это не работает *
char *Buffer; // your null-separated strings
char *Current; // Pointer to the current string
// [...]
for (Current = Buffer; *Current; Current += strlen(Current) + 1)
printf("GetOpenFileName returned: %s\n", Current);
У кого-нибудь есть подобное решение, которое работает со строками Unicode?
Я бьюсь головой об этом уже более 4 часов. С не согласен со мной.
РЕДАКТИРОВАТЬ: Я думаю , что проблема в том, что символ * теперь UTF-8 вместо ASCII.