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

回答の条件
  • 1人1回まで
  • 13歳以上
  • 登録:2017/02/12 18:14:01
  • 終了:2017/02/14 21:25:57

ベストアンサー

id:cdaotg No.1

cdaotg回答回数88ベストアンサー獲得回数232017/02/12 19:06:47

ポイント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

cdaotg回答回数88ベストアンサー獲得回数232017/02/12 19:06:47ここでベストアンサー

ポイント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

cx20回答回数606ベストアンサー獲得回数1072017/02/12 20:30:54

ポイント50pt

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

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

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

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

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

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

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません