質問よろしくお願いします。
ファイルに読み書きする際に、一般的になぜコマンドラインからファイルを
指定するのでしょうか??
また、ソースに直接ファイルを指定するとは何が違うのでしょうか??
よろしくお願いします!!
ファイル指定について
Re:無題
>>また、ソースに直接ファイルを指定するとは何が違うのでしょうか??
例えば、Senaさんが作成された実行ファイルが製品化されたとしましょう。
製品化されたソフトの形はコンパイル済みの実行ファイルですよね。
まさかソースコードの状態で配布して、ユーザーでそれぞれコンパイルしてくれなど言いません。
その時、ユーザーはmemory.JPGというファイルを読み込ませたいかも知れませんし、flower.PNGというファイルを読み込ませたいかもしれません。
この時
fopen("ryoko.JPG", "r");
こんな風にコードを書いてしまったのではこの名前のファイルしか読み込めません。
ユーザーに「この名前のファイルにしてから読み込ませてください」というのは現実的では有りません。
しかし
int main(○○){
fopen(○○, "r");
このように書いておけばコマンドラインから受け取ったファイル名を開く事が出来ますので、
あらゆる名前のファイルが読み込めます。
もし自分しか使わないもので、簡単なそのファイルしか利用する機会のないプログラムなら直接書いてもどちらも同じ事だといえるでしょうね。
例えば、Senaさんが作成された実行ファイルが製品化されたとしましょう。
製品化されたソフトの形はコンパイル済みの実行ファイルですよね。
まさかソースコードの状態で配布して、ユーザーでそれぞれコンパイルしてくれなど言いません。
その時、ユーザーはmemory.JPGというファイルを読み込ませたいかも知れませんし、flower.PNGというファイルを読み込ませたいかもしれません。
この時
fopen("ryoko.JPG", "r");
こんな風にコードを書いてしまったのではこの名前のファイルしか読み込めません。
ユーザーに「この名前のファイルにしてから読み込ませてください」というのは現実的では有りません。
しかし
int main(○○){
fopen(○○, "r");
このように書いておけばコマンドラインから受け取ったファイル名を開く事が出来ますので、
あらゆる名前のファイルが読み込めます。
もし自分しか使わないもので、簡単なそのファイルしか利用する機会のないプログラムなら直接書いてもどちらも同じ事だといえるでしょうね。
無題
なるほどぉ☆
言われて見れば、便利性がかなりアップしますね!!
>製品化されたソフトの形はコンパイル済みの実行ファイルですよね。
>まさかソースコードの状態で配布して、ユーザーでそれぞれコンパイルしてくれなど言いません。
>その時、ユーザーはmemory.JPGというファイルを読み込ませたいかも知れませんし、flower.PNGというファイ>ルを読み込ませたいかもしれません。
>この時
>fopen("ryoko.JPG", "r");
>こんな風にコードを書いてしまったのではこの名前のファイルしか読み込めません。
>ユーザーに「この名前のファイルにしてから読み込ませてください」というのは現実的では有りません。
そうですよね!!!
ユーザーのコトを考えると、よくわかります。勉強になりました。
Hermit
管理人さん
ありがとうござぃます。
もう1つ質問なのですが、ファイルを読み込む時や、書き込む時に
"r"
"w"と、
バイナリーの
"br"
"bw"
を使い分ける時の違いは何でしょうか??
どういう時に"r""w"を使用して、
どういう時に"wr""wr"を使用するのでしょうか?
参考書やサイトを見てもイマイチ、ピンとこなくて・・
すいませんがよろしくお願いします!!
言われて見れば、便利性がかなりアップしますね!!
>製品化されたソフトの形はコンパイル済みの実行ファイルですよね。
>まさかソースコードの状態で配布して、ユーザーでそれぞれコンパイルしてくれなど言いません。
>その時、ユーザーはmemory.JPGというファイルを読み込ませたいかも知れませんし、flower.PNGというファイ>ルを読み込ませたいかもしれません。
>この時
>fopen("ryoko.JPG", "r");
>こんな風にコードを書いてしまったのではこの名前のファイルしか読み込めません。
>ユーザーに「この名前のファイルにしてから読み込ませてください」というのは現実的では有りません。
そうですよね!!!
ユーザーのコトを考えると、よくわかります。勉強になりました。
Hermit
管理人さん
ありがとうござぃます。
もう1つ質問なのですが、ファイルを読み込む時や、書き込む時に
"r"
"w"と、
バイナリーの
"br"
"bw"
を使い分ける時の違いは何でしょうか??
どういう時に"r""w"を使用して、
どういう時に"wr""wr"を使用するのでしょうか?
参考書やサイトを見てもイマイチ、ピンとこなくて・・
すいませんがよろしくお願いします!!
Re:無題
数字が含まれると言う意味がよくわかりませんが、
テキストファイルというものは、文字コードで扱える範囲内の文字コードで出来ているファイルです。
そのためこれに書かれている情報は全部文字に置き換えることが出来るので、テキストエディタで正常に表示できます。
一方でバイナリファイルは音声データや画像データ等を収めた文字コードの扱える以外のデータを含んでいるため、テキストエディタで開こうとすると意味不明な記号の羅列となるはずです。
何かのバイナリファイルを
テキストエディタで開いてみるとよくわかります。
バイナリファイルを開くときは、バイナリエディタを使います。私は
http://www.zob.ne.jp/~c.mos/soft/bz.html
普段これを使っています。(普段開けないようにしてあるファイルもここをいじればひらけたりして)
要するに
テキストファイル=文字で表せるデータの集合
バイナリファイル=文字で表せないデータを含むデータの集合
ということです。
テキストファイルというものは、文字コードで扱える範囲内の文字コードで出来ているファイルです。
そのためこれに書かれている情報は全部文字に置き換えることが出来るので、テキストエディタで正常に表示できます。
一方でバイナリファイルは音声データや画像データ等を収めた文字コードの扱える以外のデータを含んでいるため、テキストエディタで開こうとすると意味不明な記号の羅列となるはずです。
何かのバイナリファイルを
テキストエディタで開いてみるとよくわかります。
バイナリファイルを開くときは、バイナリエディタを使います。私は
http://www.zob.ne.jp/~c.mos/soft/bz.html
普段これを使っています。(普段開けないようにしてあるファイルもここをいじればひらけたりして)
要するに
テキストファイル=文字で表せるデータの集合
バイナリファイル=文字で表せないデータを含むデータの集合
ということです。