質問: ファイル処理でのファイル指定の仕方 今授業でc言語の勉強をしているのですが、ファイル処理の所でよく分からない箇所がでてきました。 教科書の例題のプログラムの一部なんですが、 if((fp=fopen("b:abc.txt","w"))==null){ printf("file not open\n"); exit(1); } というのがあり、隣に解説として「b:abc.txtはbドライブにあるabc.txtを指定」みたいなことが書かれていました。 なるほどなあと思い、実際にbドライブにabc.txtをつくってプログラムを実行させてみたところ、きちんと動作することが確認できました。 何が分からないのかというと、もし先ほどのabc.txtがどこかのフォルダ、例えばcドライブのなかのaaaフォルダのなかのbbbフォルダの中に保存されていたとすれば、どのようにabc.txtを指定すればいいのかということです。 つまり、さきほどはb:abc.txtと書いてた部分をどのように書き直せばいいのかという事です。 たぶんかなり初心者的な質問でしょうが、よろしくお願いします。
回答: 既に皆さんが回答されていますが、 例えば、 「bドライブのaaaフォルダの中のbbbフォルダの中のabc.txt」 を通常のwindowsで表すと 「b:\aaa\bbb\abc.txt」 になります。しかし、「\」は特殊文字なので、「\」を表すためには「\\」としなければ成りません。 そのため、 「b:\\aaa\\bbb\\abc.txt」 のような、記述になります。