をwchar_t型を渡すことはできませんw_userの代わりにconst char*
があります。は、私はOSXのアプリで生成されていスプレッドシートにキリル文字を書くことトリングだLibXL writeStrに
docsによると、const wchar_t*
を渡すことができます。私の国際的な文字をセルに書き込む方法はありますか?
をwchar_t型を渡すことはできませんw_userの代わりにconst char*
があります。は、私はOSXのアプリで生成されていスプレッドシートにキリル文字を書くことトリングだLibXL writeStrに
docsによると、const wchar_t*
を渡すことができます。私の国際的な文字をセルに書き込む方法はありますか?
LibXLは、機能のバージョンANSI
およびUNICODE
のヘッダーを提供します。
APIのユニコードバージョンを使用するプログラムでは、UNICODE
マクロを定義する必要があります。 Visual Studioを使用している場合は、Project -> Properties -> Character Set
に行くほど簡単で、Use Unicode Character Set
に設定してください。
xlSheetWriteStr
と表示されるものは、実際には値がxlSheetWriteStrA
またはxlSheetWriteStrW
になるマクロです。 UNICODE
が定義されていない場合は、後者の場合は前者です。
SheetA.h
で関数xlSheetWriteStrA
が宣言されていますが、xlSheetWriteStrW
はSheetW.h
で宣言されています。
注:あなたが一貫していると良いでしょう。関数のUnicodeバージョンを使用する場合は、すべての関数のUnicodeバージョンを使用します。あなたの例では、あなたがxlBookAddSheet
のansiバージョンを使用しているのが分かります。
更新:ライブラリのOSXバージョンのマクロは、先行アンダー(詳細はlibxl.hを参照)、_UNICODE
あります。
おかげさまでは、 '_UNICODE'を定義すると、すべてのUnicodeバージョンのメソッドを使用するように見えます。 – Todd
これは正確です。定義していない場合は、ANSIバージョンを使用するか、特定の関数を直接呼び出すか(この場合は 'xlSheetWriteStrW')を選択する必要があります。 –