No.5ベストアンサー
- 回答日時:
No.3
- 回答日時:
strchrの実装における
char *strchr(const char *s, int c)
{
c = (char)c;
...
}
のことだと勝手に解釈して回答します。
JIS X3010:2003の7.21.5.2 strchr関数から引用すると...
機能 strchr関数は, sが指す文字列の中で, c(char型に型変換する。)が最初に現れる位置を捜す。
とありますので、使用どおりcをcharに型変換しているということです。
cの値が0~SCHAR_MAXの範囲に収まっていなかった場合、unsigned charに型変換したり、0xffとのANDを取ったのでは仕様を満たすことができません。
No.2
- 回答日時:
strchrの検索文字がcharサイズで扱えない時に備えての処理だと思います。
cがintの場合・・・処理系依存(たぶん下と同じ)
cがunsigned intの場合・・・charのサイズ(1バイト)だけ切り出し
# 僕ならc&=0xff; と書きそう。。
この回答への補足
アドバイスありがとう御座います。キャスト後Cで切り出しし、わかりましたが、
左辺値Cの値は、char(1バイト)で、型intで文字列の文字の比較のためですか
No.1
- 回答日時:
関数は、strchr()ではなく、strchrk()ですか?
それと、
>c=(char)c の キャスト前と後のcの意味を教えてください。
cは変数ですよね?
であればcの型や、strchrk()(strchr()?)の使用されている前後についてもソースを記述してください。
この回答への補足
アドバイスありがとう御座います。関数は、strchrです、strchrのソースは、下記に書きました。
char *strch(const char *s,int c)
{
c=(char)c;
do
if(*s==c)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# c言語 int temp = 0; if(isdigit(arr[i])){ temp=arr[i] 2 2022/03/27 01:44
- C言語・C++・C# C言語のエラーについて 2 2022/07/11 13:56
- C言語・C++・C# 関数名 (type *) 1 2022/03/28 10:55
- C言語・C++・C# C言語初心者 構造体 課題について 2 2023/03/10 19:48
- C言語・C++・C# const char** p;のとき、free(p)でC4090エラーとなるのはなぜですか 3 2023/03/31 16:28
- C言語・C++・C# c言語の問題の説明、各所ごとに 5 2023/07/26 11:03
- 英語 英文法 2 2022/11/17 13:03
- C言語・C++・C# C言語について コマンドラインで >変数 12.00 (char型) と、小数点付きの値を共用体に渡 1 2022/04/22 16:56
- 日本語 「Aと Bと Cと Dはいつどんな場合(とき)も意味やその他すべて全くもって同じでしょうか?」 (な 1 2023/06/01 20:55
- 日本語 「Aと Bと Cと Dはいつどんな場合(とき)も意味やその他すべて全くもって同じでしょうか?」 (な 2 2023/06/01 23:44
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
fgetsなどのときのstdinのバッ...
-
ポインタ変数を用いた配列の反...
-
この場合のプログラムのreturn...
-
間接参照のレベルが異なっています
-
ネットワークにつながっている...
-
atoi( ) の反対をやりたい
-
getchar()を int でとる理由...
-
RGB→YUV変換のプログラム
-
'const char *' 型は 'char *' ...
-
TCHAR文字列?の特定部分の数字...
-
CStringをwchar_tに変換したい
-
標準ライブラリ関数の自作につ...
-
charからLPTSTRへの変換方法
-
ソケット関数について(winsock)
-
C言語 ミリ秒を日付に変換には
-
困っています
-
C/C++で漢字の読みを取得したい...
-
strncpyと_tcsncpy_sのヌルの扱...
-
干支のプログラム
-
YUV⇔RGB変換がうまくいきません。
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
fgetsなどのときのstdinのバッ...
-
文字列から空白を取り除きたい...
-
CStringをwchar_tに変換したい
-
charからLPTSTRへの変換方法
-
テキストデータをそのままバイ...
-
c++ 文字列を入力して、一文字...
-
'const char *' 型は 'char *' ...
-
間接操作のレベルとは
-
WORDをcharに変換する方法
-
strncpyと_tcsncpy_sのヌルの扱...
-
型変換
-
配列をnビットシフトする
-
atoi( ) の反対をやりたい
-
Win32APIでのエディットボック...
-
間接参照のレベルが異なっています
-
c言語配列の結合についてです。...
-
【C言語】テキストファイル内の...
-
double型の値をchar配列に変換...
-
switch文で文字を比較すること...
-
C言語のfor文です。 繰り返しの...
おすすめ情報