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
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
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!