C言語で非アスキー文字を使う方法
諸事情でArduinoを使っています。
さらにArduino ROBOTO LCDを組み合わせています。
さてこのLCDはアスキー文字を表示できますが、実はアスキー外にも文字が定義されています。
その中で-9(unsignedだと247)*1を含んだ文字列を表示する方法で困ったのでまとめます。
無理やりキャストする
できるけどさっぱりクールじゃない。
コードも読みづらいです。
char* s = "a"; char[0] = (char)(-9);
16進数を使う
@keita44_f4 あ、今試したら C が16進エスケープの一部として読まれちゃうから "5\xf7" "C" みたいにして逃げないといけなかった
ただしchar1文字しか使わないならN2文字で区切る必要があります。
char* s = "\xf7";
8進数を使う
@dico_leque @keita44_f4 そういうときは octal で "5\367C" だー。
2014-06-30 19:09:55 via twicca to @dico_leque
char* s = "\367";
まとめ
C難しい
*1:-9は上付き丸に割り当てており、℃を二文字使って表せる