絶対パスを取得するプログラムで、絶対パスの階層を表す¥これが消えてしまいます。""の中には二回\\が入っているのにもかかわらず、一個減って表示されます。これはなぜなのでしょうか?¥を三個にしたところエラーがでました。ご回答よろしくお願いします。「\」単体で書いても意味はありません。2つ続けてあげてようやく1つとしてみなされます。「\n」って使いますよね?こういう命令のために「\」は使用するため、ひとつではあらわせません。あらわせないと困りますよね?なので「\」のあとに「\」を書いて「\」をあらわしたいということになります。8年前(注意、¥マークと\は同じと扱います。)こんな話があります。すごく判りやすくて自分も頷かされました。女性がある話を朗読して、それを男性が聞いて書き写す、という作業をしている人たちがいます。あるところまで読んだとき、女性は「もうこの話には続きが無い」という意味で、『はい、これで終わりです。男性はそれを聞いて、『はい、これで終わりです。文章の中に『はい、これで終わりです。』とある、と勘違いしたのです。女性は作業を一旦中断して、『はい、これで終わりです。』といったらもうおしまいにしましょう、と男性に言いました。あるところまで読んだとき、また女性が『はい(略)』と言いました。男性は書くのをやめましたが、今度は本当に文章の中に『はい(略)』と書いてありました。女性は作業を中断し、悩んだ末、このように決まりました。『はい(略)』と言ったときは男性が一旦書くのをやめて女性の話を聞き、もう一回『はい(略)』と言ったときだけ、作業を再開し、『はい(略)』と一回書く。なければ、書くのはおしまい。とまあこれで判ったかと思いますが、この『はい(略)』がCの「エスケープシーケンス」にあたります。実際にはもっといろんなルールがあるのですが、この話に登場した「終わりを示すもの」は実際にCでも存在し、「\0」と表記されます(ヌル文字、ナル文字とも)。実はその1バイトには「\0」が勝手に追加されているのです。女性が『はい(略)』『はい(略)』と言うのは、Cの「\\」に相当するわけです。一文字消える原因はこれです。このように、「文字では直接表せないけど必要な情報」をあらわすために、エスケ-プシーケンスは存在しているのです。絶対パスを取得するプログラムで、絶対パスの階層を表す¥これが消えてしまいます。""の中には二回\\が入っているのにもかかわらず、一個減って表示されます。これはなぜなのでしょうか?\\と2個書いたのはなぜ、という疑問が残ります。\だけだとまずい、ということがわかっていたからではないのでしょうか。バグのないプログラムはない。プログラムは思ったとおりには動かない。8年前どうもちゃんとした入門書籍を読まれていない気がします。方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。8年前ダブルクォーテーション内でダブルクォーテーション、シングルクォーテーション内でシングルクォーテーションを使いたいとき、"\""'\''このようにエスケープしませんか。