- 169 名前:デフォルトの名無しさん mailto:sage [2007/05/10(木) 22:05:35 ]
- if (*s && isalpha(*s)) {...}
が LinuxとSolarisで動作が違うのでgcc -Eで確認したらSolatisではisalpha(c)が ((__ctype+1)[c] & (0x01 | 0x02)) に展開されててLinuxではライブラリ関数呼んでました。 動作が違ったのは*sが負数になってたせいのようでした。(なぜ負のインデックスで__ctype配列 参照してcore吐かなかったか不思議ですが...)*sに入る整数値がなんでもありと すると、ここは普通どう書きますか? if (isascii(*s) && isalpha(*s)){...} とかすればOK?
|

|