- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:システムの特殊なフォルダのパス名の取得を取得しようとしています。)
システムの特殊なフォルダのパス名の取得方法
このQ&Aのポイント
- VC++2008 Express EditionでSHGetSpecialFolderPathを使ってシステムの特殊なフォルダのパス名を取得する方法について調査したが、結果が常に「C」しか取得できない問題が発生している。
- 質問者はネット上の例を参考にしてソースコードを書いたが、どの場所のパスを取っても結果が「C」しか返ってこない。
- 原因が何であるかについて質問者は不明であり、質問者は解決策を求めている。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
プロジェクトの文字セットはどうなっています? UNICODEで取得していてMBCSでprintf()していた場合、最初の1文字しか表示されないかと思いますが。 printf("デスクトップのパスは %s です\n",buf); を _tprintf(_T("デスクトップのパスは %s です\n"),buf) としてみたらどうですか?
その他の回答 (1)
- bluecampus
- ベストアンサー率66% (138/209)
回答No.2
printfの書式が違うのでは? Unicode文字セットを使うにしている場合、TCHAR は wchar_t になりますので、 %S を指定することになります。 printf 関数の型フィールド文字 http://msdn.microsoft.com/ja-jp/library/hf4y5e3w.aspx それと、もしかしたらsetlocaleも必要かも。
お礼
有難う御座います。 文字セットがおかしかったようです。 マルチバイト文字セットではなく、unicode文字セットにしていたために 表示されませんでした。 とりあえず、問題解決できました。