c++ - X-platform reentrant wcstok()? -


right i'm looking reentrant version of wcstok() known gcc , other compilers (if there's any).

so far use wcstok_s() 1 msvc , need compile code on other platforms well. while pages suggest wcstok_r() couldn't find in gcc headers. other (man)pages mention strtok_s() without specific wide char version mention it's said used for multibyte strings only(?).

so, i'm open suggestions. writing own wrapper/version last way out solution only.

edit aschepler: sample code doesn't compile due too many arguments - should compile despite being pointless:

#include <cwchar> // includes wchar.h  int main(void) {     wchar_t *a, *b, *c;     wcstok(a, b, &c);     return 0; } 

the function wcstok specified c89 (and therefore c++) reentrant , has same signature , same behavior microsoft's wcstok_s. wcstok should declared in <wchar.h> and/or <cwchar>.

wchar_t* wcstok(wchar_t* s, const wchar_t* delim, wchar_t** ptr); 

but looks microsoft's wcstok has incorrect signature.

so maybe can use #ifdef _windows (rather #ifdef _msc_ver) determine function use, if run problem using gcc on windows.


Comments

Popular posts from this blog

asp.net - repeatedly call AddImageUrl(url) to assemble pdf document -

java - Android recognize cell phone with keyboard or not? -

iphone - How would you achieve a LED Scrolling effect? -