Win-1251 でエンコードされたテキストを処理する必要があります (8 ビット エンコード、キリル文字には 128..255 の一部を使用)。私が知る限り、C は 7 ビット ASCII を念頭に置いて作成されており、127 を超えるシングルバイト文字は明示的にサポートされていません。いくつか質問があります。
- このテキストのより適切なタイプは次のどれですか:
char[]
またはunsigned char[]
? unsigned char[]
組み込み関数 (strlen
, )を使用するとstrcmp
、コンパイラは への暗黙のキャストについて警告しchar*
ます。そのようなキャストは何かを壊すことができますか?unsigned char
文字列を明示的にサポートするには、一部の関数を再実装する必要がありますか?