どうも、memoraです。
MacBook Proでプログラミングの勉強を始めました。
とりあえずC言語に手を出してみたのですが、Xcodeでサンプルコードをビルドしてみると、教科書通りにやっても「¥n」の改行が反映されず困りました。
小一時間ググってヒントを見つけ出して解決したのですが、いい機会なのでシェアしたいと思い記事にしました。
既に他のブログでも書かれていたりはしますが、Macに焦点を絞っている記事はすぐに見つけられなかったので参考になれば幸いです。
原因はXcodeの仕様。「¥n」ではなく「\n」と入力する
printf("test¥n");
のような記述だと、¥nを文字として認識してしまいます。
↓実行結果が下の画像
私が教材に選んだ本では、日本語環境では「\n」は日本語環境では入力が難しいため、「¥n」で良いと書かれていました。
全く同じように動作するという説明がされていました。
それが今回の混乱の原因になったのです。
「\」は「バックスラッシュ」と読みます。
Macでも通常の日本語JISキーボードでは英数入力でも¥(いわゆる円マーク)になってしまいます。
同じように処理してくれればいいのですが、コンパイラによっては「¥n」と「\n」を区別してしまうようです。
未確認ですが、Xcodeのバージョンによる差異もあるかもしれません。
ちゃんと\nで記述してやると、このようにきちんと改行されます。
Macのキーボードで\nを入力する方法
\nと入力するばちゃんと反映されることはわかりました。
では、次にバックスラッシュを入力する方法を押さえましょう。
方法は簡単です。
option+¥をタイプすれば、\と入力することができます。
これでXcodeでもちゃんと改行として認識してくれるようになります。
いちいちoption+¥を打つのが面倒くさいならキーボード設定を変更する
デフォルトになっている¥を\に変更する方法をご紹介します。
デスクトップ>アップルマーク>システム環境設定>キーボード
入力ソースタブを開いて、少しスクロールすると”¥”キーで入力する文字:があるので、そこで\に切り替えます。
プログラミングをする方ならバックスラッシュの方が便利なので、変更するのがおすすめです。
まとめ
今回はXcodeで¥nでは改行されないというテーマで解説しました。
Xcodeで¥nと入力しても改行されないのは、¥と\を区別しているという理由です。
解決方法として、option+¥で入力する方法と、キーボードの設定を変更する方法をご紹介しました。
これからもプログラミング勉強の過程で解決できたことをどんどん記事にしていきます。