私はよくこのようなことをしたいです:
unsigned char urlValid[66] = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-_.~";
...また:
unsigned char listOfChar[4] = "abcd";
...つまり、文字列リテラルから文字配列を初期化し、そのリテラルのnullターミネータを無視します。それはとても便利です、そして私は次のようなことをしsizeof urlValid
て正しい答えを得ることができます。
しかし、残念ながら、エラーが発生しますinitializer-string for array of chars is too long
。
次のいずれかの方法はありますか?
- この特定の発生に対するエラーと警告をオフにします(つまり、char配列を初期化するときにnullターミネータの余地がない場合)
- 利便性と読みやすさを維持しながら、それを改善しますか?