So I've been reading up on void pointers and understand that it lets the compiler know it points to a variable of unknown type, but how to manipulate them/ use them is still really confusing. For instance,
casts the string to a void pointer, but I can't figure out how to do it the other way around. For instance, sqlite3_errmsg16() returns a const void *, and I need to be able to transform that into a wstring or string.
What other type of string can represent wide characters instead of wchar_t/wstring? If I want to go the safe route like you said, and learn about UTF-16 decoding, so that I can move on to cross platform programs, would I need to download a specific unicode library? Is TCHAR cross platform?