73 :
出張あさはかマン:
gnu newlibを解析してるつもりの人です。
こんなとこを見つけたのですが
------------
ctype.h
------------
...
#define _U 01
#define _L 02
#define _C 040
...
#define isalpha(c) ((_ctype_+1)[(unsigned)(c)]&(_U|_L))
...
------------
ctype_.c
------------
#include ctypes.h
...
_CONST char _ctype_[1 + 256] = {
0,
_C,_C,_C,_C,_C,_C,_C,_C,
...
}
------------
と書いてあったんですが、
(_ctype_ + 1)[n]って、_ctype_[n + 1]と同意なのでしょうか?
もしそうだとして、unsignedなのに配列の大きさが[1 + 256]なのも
良くわかんないです・・・・
_ctypes_[0]は何につかうのだろ・・?
74 :
デフォルトの名無しさん:2001/07/19(木) 11:38
CSVファイルを編集するソフトを作ってみたいのですが
何かよいサンプルはありませんか。
75 :
デフォルトの名無しさん:2001/07/19(木) 12:04
>>73 > unsignedなのに配列の大きさが[1 + 256]なのも
> 良くわかんないです・・・・
is系は0〜255までの文字とEOFの257種類を判定しなければいけない為
77 :
出張あさはかマン:2001/07/19(木) 14:11
>>75,
>>76 と、すると
EOFが返ってきそうなものは符号付で来るのかな・・・
ちょっと確かめて見ます。
有難うございます。
int getc(FILE *fp)とか、すべてint表記でした。
すると(_ctype_-1)[n]は、やはり(_ctype_)[n-1]と
結果は同じになるということですね。
納得。
さんくすです。