■言語
C++
■内容
コマンドプロンプト(cmd.exe)でユーザが入力した"サーバ名"をCString型の変数DevNameに格納し、文字長さを確認する処理を作成しております。既存のSJIS文字を取得する仕様をUnicode(UTF16)で取得できるようにしたいです。
■補足
cmdで使用する文字コードをUnicodeに変更すれば正しく取得できるのではと思い、CHCPコマンドを使用しました。cmdで使用する文字コードを変更できますが、以下の方法で変更した場合、cmdにUnicode文字〠が"・・"と化けて表示されてしまい、しもそもUnicode文字を入力できません。
CHCP 65001
■ユーザがcmd.exeに入力する文字
test.exe -p "サーバ名"
■ユーザが入力した文字を受け取る( argc:パラメタの個数, argv[]:パラメタの値 )
int main(int argc, wchar_t* argv[]) { if(argc == 3) { // 第2引数のチェック DevName = argv[2]; if(DevName.GetLength() > 64) { printf("サーバ名は最大長を超過しています。\n"); goto leave; } } }
以上、宜しくお願い申し上げます。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2019/09/25 04:31