![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
No.2ベストアンサー
- 回答日時:
Cには「文字列型」がないので初心者では仕方ない面もありますが、「文字列」を表現するときの型は「char型」ではおかしいです。
よくある勘違いですが、数値は10進表記でも16進表記でも内部での持ち方は一緒です。
ですから、比較式
0x1041 == 4161
の結果は真になります。要するに「単純にstrを数値変換して入力値と比較する」でOK。
ただし、数値変換はatoiよりはstrtolの方がベターです。書式は面倒ですが、atoiだと入力エラーがチェックできないので。
今回のケースならsprintfで入力値を16進表記文字列に変換してstrcmpで文字列比較なんて手も使えますが、まぁ普通は使いません。
No.4
- 回答日時:
> 指定された場所(アドレス)からNULL文字が見つかるまで
というのを「char型」で(配列もポインタも使わず、って意味ですよ)表現できますか?できませんよね。
#まぁ表現上の問題と言ってしまえばそれまでですが。
No.3
- 回答日時:
>変換してして比較すれば良いのでしょうか?
はい。但し変換するのは
「文字列」から「数値」にです。
#
>「文字列」を表現するときの型は「char型」ではおかしいです。
いや、おかしくないと思う。
C言語の場合、指定された場所(アドレス)からNULL文字が見つかるまでを文字列として扱うって規定があるから。
str系の関数はその規約に基づいて作られているわけだし。
No.1
- 回答日時:
普通に考えれば、
・strが指し示す10進で書かれた文字列を数値(int型)に変換。(atoiで一発)
・変換してできた数値を0x1041と比較する。
というように実装することになると思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) awkの文字列比較はPOSIXロケールまたはCロケールにおいてバイナリ値の比較に使えるか gawkな 1 2023/04/22 09:21
- Excel(エクセル) エクセルで2つの表を比較して、文字列が同じだが、その行のある値が違うものを抽出したい 1 2022/10/06 21:48
- Visual Basic(VBA) ExcelVBAでDo Until loopのネスト、IF文を使って一致する物と一致しない物としたい 11 2022/12/24 17:46
- 英語 "beside"と比較級の共起の可否について 5 2022/11/15 09:51
- Visual Basic(VBA) セルの値を比較してセルの値の色を変更するには 4 2022/05/22 20:28
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 1 2023/01/23 11:02
- 物理学 ファンデルワールス状態方程式の臨界時の状態量を求める際、臨界体積VrはVの3次関数の極値でもあり変曲 1 2023/03/25 17:51
- Excel(エクセル) エクセルの日付から年末尾2桁と月を1月をA~Lに変換したい 3 2022/08/08 10:32
- Excel(エクセル) エクセル シート比較で書式を変えるを繰り返したい 2 2023/05/05 11:25
- 統計学 値上げ価格についての質問です。 3 2023/06/10 21:50
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教えるわが家の防犯対策術!
ホームセキュリティのプロが、家庭の防犯対策を真剣に考える 2組のご夫婦へ実際の防犯対策術をご紹介!どうすれば家と家族を守れるのかを教えます!
-
16進数 加算 減算 C言語
C言語・C++・C#
-
C言語---ファイルに出力したデータをすべて消去する方法
C言語・C++・C#
-
printf による16進表示について
C言語・C++・C#
-
-
4
char*を初期化したいのですが
C言語・C++・C#
-
5
cout と cerrの違い
C言語・C++・C#
-
6
エラーの意味は? Lvalue required
C言語・C++・C#
-
7
exitとreturnの使い分け
C言語・C++・C#
-
8
ファイル内のデータを1行削除する方法
C言語・C++・C#
-
9
C++にてtemplateで受け取った任意の型の変数が何型であるかを判定したい
C言語・C++・C#
-
10
バイナリファイルをテキストファイルに変換する方法を教えて頂けませんか。
C言語・C++・C#
-
11
C言語でunsigned char配列を連結する方法ってありますか?
C言語・C++・C#
-
12
C言語の文字リテラル中の16進文字定数について
C言語・C++・C#
-
13
C++17で、unsigned char * 配列を、文字列リテラルで初期化する方法はありませんか?
C言語・C++・C#
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VB6.0の「vbFromUnicode」はVB....
-
VB6 case文について
-
C++ 文字列変数と16進数の比較
-
WORD型をCString型に変換する方法
-
バイト型のデータをLong型に変換
-
Date型からString型へ変換...
-
C#でListとDictionaryの判別方法
-
VB.NETで1→A、2→B、26→Z、27→AA...
-
Boolean型変数の値を反転する方法
-
C#で文字列を数値に変換する方法
-
ASPでVBのFormat関数のような機...
-
エクセルでメールヘッダーを解...
-
秀丸マクロで 大文字を小文字...
-
n進数の値を10進数の値に変換す...
-
バイナリデータの文字列変換(5...
-
VBA 変数名に変数を使用したい。
-
「Nullの使い方が不正です」の...
-
C#でbyte配列から画像を表示さ...
-
Accessのフィールド名に半角括...
-
Accessで別mdbのテーブルをコピー
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VB.NETで1→A、2→B、26→Z、27→AA...
-
WORD型をCString型に変換する方法
-
16進をASCIIコードに変換する...
-
VB6.0の「vbFromUnicode」はVB....
-
C++ 文字列変数と16進数の比較
-
バイト型のデータをLong型に変換
-
16進コード文字列を文字列に変換
-
VC++ std::stringからLPCWSTRに...
-
10進数を2進数
-
2の補数の計算について
-
数字→漢数字変換
-
Boolean型変数の値を反転する方法
-
RGBとHSLを相互変換する際の端...
-
【C++/CLI】int型からString型...
-
textbox.textやlabel.captionの...
-
C#でListとDictionaryの判別方法
-
vb6の桁数指定
-
補数について教えてください!
-
C言語のGPS問題が分かりません。
-
Pythonの指数表記について
おすすめ情報