

TCHARはUNICODEが扱えるときいたので早速つかってみた。以下は引数を表示するプログラムである。
Visual C++ Express Editionを使った。
#include <stdio.h>
#include <tchar.h>
int _tmain(int argc, _TCHAR* argv[])
{
int i=0;
while(i<argc){
_tprintf(_T("%s\r\n"),argv[i++]);
}
return 0;
}
しかし上記プログラムに日本語の引数をわたすと文字化けするではないか。なでしょうか?
No.1ベストアンサー
- 回答日時:
Unicodeを使うならTCHARではなくwchar_t系を使うべきだと思いますが……。
# VC++の場合。
> しかし上記プログラムに日本語の引数をわたすと文字化けするではないか。
setlocaleしていないのですから,当然の動作です。
ワイド文字列のストリームへの出力はfputwcを使ったかの如くなされ,fputwcはwcrtombで変換したのと同等の文字列を出力します。
# ISO/IEC 9899:1999 7.19.3 Files / Paragraph.12
そして,wcrtombのはLC_CTYPEカテゴリの現在のロケールに依存します。
# ISO/IEC 9899:1999 7.24.6 Extended multibyte/wide character conversion utilities / Paragraph. 2
どうも。解決しました。
#include <stdio.h>
#include <tchar.h>
#include <locale.h>
int _tmain(int argc, _TCHAR* argv[])
{
setlocale(LC_ALL, "Japanese");
int i=0;
while(i<argc){
_tprintf(_T("%s\r\n"),argv[i++]);
}
return 0;
}
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# バイナリファイルをコピーするのにかかる時間を測りたいのですが実行するとFatel error:gli 2 2022/11/03 01:10
- C言語・C++・C# c言語 プログラムのエラー 1 2023/02/11 20:31
- C言語・C++・C# このプログラミング誰か教えてくれませんか 1 2022/06/02 15:27
- C言語・C++・C# c言語の問題の説明、各所ごとに 5 2023/07/26 11:03
- C言語・C++・C# Cのdoubleの浮動小数点表示について 3 2023/04/17 13:14
- C言語・C++・C# C言語 共用体について コマンドライン引数で値を2つ入力したときに、argv[2]の値をUNI u1 4 2022/04/25 20:34
- C言語・C++・C# 並列プログラミングのπ計算について 1 2022/07/16 22:30
- C言語・C++・C# C++プログラミングコードにポリモーフィズムを取り入れ方を教えてください。 2 2023/06/09 11:17
- C言語・C++・C# C言語のエラーについて 2 2022/07/11 13:56
- C言語・C++・C# カードシャッフルのブログラムを使ってc言語でブラックジャックをしたい 2 2022/04/12 15:13
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
関数とビット列
-
再起呼び出しの回数をカウント...
-
迷路を脱出する経路探索プログ...
-
組織的ディザ法のプログラムが...
-
再帰処理をループ処理に変換
-
最大の四角形を求めるプログラム
-
プログラムに詳しい方お願いします
-
OPEN
-
C言語のプログラムについて(...
-
カードシャッフルのブログラム...
-
argvのNULLチェック
-
DirectXの表示について
-
intとlongは同じ?
-
C++MFCで変数の値が上書きされ...
-
プログラミングに関して
-
複数の共有メモリの作成
-
C言語で%を使わない余りの出し方
-
C言語でテーブル引きしたら速度...
-
C言語の問題
-
信頼区間の1.96や1.65ってどこ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
2の補数を計算するプログラム
-
intとlongは同じ?
-
条件が多い場合
-
再起呼び出しの回数をカウント...
-
argvのNULLチェック
-
C言語でDOS画面のプログラム(...
-
カードシャッフルのブログラム...
-
c++ TCHARで文字化け
-
複数の共有メモリの作成
-
C++ Debug Errorについて教えて
-
C++ bmp 透過処理
-
関数とビット列
-
OpenCVによる4値化について
-
コマンドプロンプトのウィンド...
-
ヌメロンのプログラム
-
for 分についてです
-
DXライブラリとC言語 fwrite関...
-
16bitで乱数を生成する方法
-
プログラミングに関して
-
C++で表を作成したいのです ...
おすすめ情報