解決済み

unicode文字列(日本語)のファイル出力方法

  • すぐに回答を!
  • 質問No.5126054
  • 閲覧数3410
  • ありがとう数3
  • 気になる数0
  • 回答数4
  • コメント数0

お礼率 52% (24/46)

お世話になっております。
現在、VC++でプログラミングを行っておりますが、
日本語の文字列のファイル出力ができずに困っております。
参考にしたのは以下のサイトです。

http://sunafukin.jp/dannatti/software/vc/control/secure/fprintf_s.html

作成したプロジェクトファイルは以下の設定です。

・Visual C++のプロジェクト「Win32」
・「Win32コンソールプロジェクト」
・アプリケーションの設定はWindowsアプリケーション
・文字セットにUnicodeを選択

文字セットにUnicodeを利用しなければ、日本語の文字列も正常に出力されるのですが、Unicodeを利用すると日本語が全て「?」と表記されてしまいます。

この「?」が出てしまう問題の解決方法をご存じの方がいらっしゃいましたら、ご教授宜しくお願い致します。

質問者が選んだベストアンサー

  • 回答No.4

ベストアンサー率 66% (138/209)

>_tfopen_s(&fp, _T("c:\\text.txt"), _T("w"));
の場合、Unicode文字セットを使うでも、マルチバイト文字セットを使うでも
出来上がるファイルの文字コードはCP932のものになります。
決してUnicodeの文字コードでのテキストファイルができるわけではありません。

ccs=UNICODEのように第3引数に指定し、Unicodeの文字コードでのテキストファイルを出力させます。

http://msdn.microsoft.com/ja-jp/library/z5hh6ee9.aspx
お礼コメント
tohboe

お礼率 52% (24/46)

お礼が遅くなり申し訳ありません。
ありがとうございます。

ご教授頂いたやり方で問題を解消できました。
CP932というものの存在を初めて知りました。勉強になります。

ありがとうございました。
投稿日時 - 2009-07-23 22:54:00

その他の回答 (全3件)

  • 回答No.3

ベストアンサー率 19% (338/1717)

プログラムは
http://sunafukin.jp/dannatti/software/vc/control/secure/fprintf_s.html
こちらと一字一句まったく同じなのでしょうか?
私の環境(VC++.2005,Win2000)で試したところ、
2006
3.141590
a
文字列
というファイルがちゃんと作成されましたが。
お礼コメント
tohboe

お礼率 52% (24/46)

ご協力いただきありがとうございました。
bluecampusさんからご教授頂いた方法で解消することができました。
投稿日時 - 2009-07-23 22:56:20
  • 回答No.2

ベストアンサー率 19% (338/1717)

>バイナリエディタ(Unicode対応)で開いた場合も同様に?マークで表示されてしまいます。

そうじゃなくて、バイナリ値のほうはどう表示されているのでしょうか?
補足コメント
tohboe

お礼率 52% (24/46)

申し訳ありません。知識が乏しくて。

バイナリ値とは、16進数で表記される値のことで宜しいでしょうか?
それでしたら、?と表記される箇所は全て「3F」と表記されます。
投稿日時 - 2009-07-15 13:39:54
  • 回答No.1

ベストアンサー率 19% (338/1717)

>Unicodeを利用すると日本語が全て「?」と表記されてしまいます。
ファイルの内容の確認には、何をお使いでしょうか。

VCのエディタで開いたり、バイナリエディタで開いた場合はどうなりますでしょうか。

あと、OSとVCのバージョンも詳しくお願いします。
補足コメント
tohboe

お礼率 52% (24/46)

ご回答ありがとうございます。
内容の確認はノートパッドを利用しています。
VCのエディタ、バイナリエディタ(Unicode対応)で開いた場合も同様に?マークで表示されてしまいます。

OSはWindows XP、VCのバージョンはVisualStudio2005です。
投稿日時 - 2009-07-15 12:44:42
結果を報告する
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。
関連するQ&A
AIエージェント「あい」

こんにちは。AIエージェントの「あい」です。
あなたの悩みに、OKWAVE 3,500万件のQ&Aを分析して最適な回答をご提案します。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する

ピックアップ

ページ先頭へ