VS2015です。CでDLLを書いています。自前の関数で引数にLPCWSTRをもつ文字列として、関数内部でファイルに書き出したと思っています。fputsでは引数がcharなのでエラーになります。普通、どのように書くのでしょうか?

回答の条件
  • 1人1回まで
  • 登録:
  • 終了:2017/02/14 21:25:57
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:cdaotg No.1

回答回数123ベストアンサー獲得回数35

ポイント50pt

fprintf( file, "%ls", str );
で行けないでしょうか?
file,strはそれぞれFILE構造体へのポインタ、文字列です。

参考までに。
http://dixq.net/forum/viewtopic.php?f=3&t=8527

id:cdaotg

追伸です。
どうしてもfputsを使う必要があれば、sprintfでcharの配列に変換してからfputsを使う手もあります。

2017/02/12 19:17:26

その他の回答1件)

id:cdaotg No.1

回答回数123ベストアンサー獲得回数35ここでベストアンサー

ポイント50pt

fprintf( file, "%ls", str );
で行けないでしょうか?
file,strはそれぞれFILE構造体へのポインタ、文字列です。

参考までに。
http://dixq.net/forum/viewtopic.php?f=3&t=8527

id:cdaotg

追伸です。
どうしてもfputsを使う必要があれば、sprintfでcharの配列に変換してからfputsを使う手もあります。

2017/02/12 19:17:26
id:mai_mai_mail

質問文を編集しました。詳細はこちら

id:cx20 No.2

回答回数607ベストアンサー獲得回数108

ポイント50pt

UNICODE で出力する必要があるのであれば fputs() の代わりに fputws() を使用してください。
https://msdn.microsoft.com/ja-jp/library/t33ya8ky.aspx

ANSIで出力する必要があるのであれば、WideCharToMultiByte() を用いることになります。
http://www.dinop.com/vc/unicode_mbcs.html

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません