convert rtl::OUString to char *
Hi! I habe this code: Reference XTextDocument xTextDocument (xWriterComponent,UNO_QUERY); Reference XText xText = xTextDocument-getText(); How can i convert xTextDocument-getText() to char * ? I used to convert it like this: int nLenOfAnsiChar = WideCharToMultiByte(CP_OEMCP, NULL, xText-getString().pData-buffer, -1, NULL, 0, NULL, NULL ); char * str = new char(nLenOfAnsiChar); WideCharToMultiByte(CP_OEMCP, NULL, xText-getString().pData-buffer, nLenOfAnsiChar, str, nLenOfAnsiChar, NULL, NULL ); I converted it from unicode to ansi. But when i'm doing it in writer - i have broken data. I think data here is in ANSI. Thanks!
Re: convert rtl::OUString to char *
WideCharToMultiByte() indicates that you are working on Windows. At first you need to convert to UTF16 (from UTF8), and then from UTF16 to the desired code page. Have a look at http://code.msdn.microsoft.com/C-UTF-8-Conversion-Helpers-22c0a664 . jg
Re: convert rtl::OUString to char *
Hi, On Tue, Sep 24, 2013 at 06:44:05PM +0300, K.Misha wrote: Hi! I habe this code: Reference XTextDocument xTextDocument (xWriterComponent,UNO_QUERY); Reference XText xText = xTextDocument-getText(); How can i convert xTextDocument-getText() to char * ? First, the css.text.XText is not a string, use XTextRange::getString() to get the rtl::OUString. Then, convert the OUString to an OString and then use OString::getStr() Reference XText xText = xTextDocument-getText(); const rtl::OUString uText = xText-getString(); const rtl::OString sText = rtl::OUStringToOString( sText, RTL_TEXTENCODING_UTF8 ); const char *pzstr = sText.getStr(); Regards -- Ariel Constenla-Haile La Plata, Argentina pgpge2XRd6BvB.pgp Description: PGP signature
Re: convert rtl::OUString to char *
WideCharToMultiByte() indicates that you are working on Windows. At first you need to convert to UTF16 (from UTF8), and then from UTF16 to the desired code page. Have a look at http://code.msdn.microsoft.com/C-UTF-8-Conversion-Helpers-22c0a664 . jg - To unsubscribe, e-mail: api-unsubscr...@openoffice.apache.org For additional commands, e-mail: api-h...@openoffice.apache.org