プロが教えるわが家の防犯対策術!

Fcopy 入力ファイル名1・・・入力ファイル名n 出力ファイル名
次の形のコマンドが与えられたとき、いくつかのファイルを連結し、指定された名前のファイルにその結果を出力するプログラムを作りたいのですが、どうしていいのかサッパリ分かりません。見本のソースを書いて頂きたいです。

A 回答 (5件)

内容から見て、課題かな??


自分でやってください。
「ソースをください」なんて・・・悲しいです。


いくつかのキーワードです。
・パラメータの受ける状況を作成(argc / arcv)
・ファイルポインタを定義 (FILE *fpxx)
・キーボード入力(scanf など)
・ファイル関数で入力 (fget や、fscanf 等)
・FORループで、パラメータ回数分処理
 ・文字列の結合 (文字列 + 文字列 で、文字列連結)

・ファイル関数で出力。(fout や、fprintf)
    • good
    • 0
この回答へのお礼

本当にその通りです。スイマセン!!
でも、時間がぁ・・・。言い訳してスミマセンでした。
ヒントありがとうございます。

お礼日時:2001/07/13 16:11

Haizyさんも仰っていますが、課題でしょう?


例えば先生に「解らないから答えを教えてください」と言っても基本的にはヒントを与えることで正解に導いていくはずです。(これが出来ないならば先生失格でしょう)
私たちは先生ではありませんが、状況を見極めることは出来ます。
つまり、教えてしまうのは簡単だけどその人のためにはならないと・・・。
ということで、まずどの辺が解らないのかをはっきりさせましょう。
そして出来れば空欄だらけだったり完成していなくても構わないから、あなたの作ったソース全体または一部を載せて下さい。
それこそが正解を得るための近道です。

#ところでHaizyさん、何故キーボード入力?(^_^;
#それと文字列の結合も・・・。
#ただのファイル連結だから1ファイルずつ追記していくだけですよね。
#(間違ってたらごめんなさいね)
    • good
    • 0
この回答へのお礼

ありがとうございます。
もっと、基礎から固めたいんですけど授業が・・・って言っても課題を提出し続けるだけなんですけど。もっと、体系的に勉強したいけどとりあえず課題出さないと。
はっきりいって先生は失格ですよ!!
だって、教える気がないもん!大学にはTAって人がいるんですけど全てその人に振るんです。それはいいとして。そのTAに質問しても答えられないし、それで先生が答える分けでもない。かなりあきらめ入りました。
でも、人のソース見て勉強法もありって誰か言ってましたよ。やっぱり、ダメなんですかね。

お礼日時:2001/07/13 16:33

こんにちは。

学校の宿題とのことですが、ちょー甘甘で、他の回答者の方から
怒られるかもしれませんが、これっきりということで、助け船です。
(C言語でいいんでしょ?)

 プログラムのスケルトン(骨格)のようなものを書きますので、ちゃんと関数
とか文法とかを調べて各処理を書き足せば、だいたいできると思います。

プログラム作成でわかりにくいときは、いきなりその言語で書こうと思わず、
一度、下のように日本語でどんなアルゴリズムにすればいいのかを考えて書いて
みて、その後、各処理を実際に言語を使って書いてみるという方法が、わかりや
すいと思います。(勉強としてはフローチャートやYACチャートとかの方が後々まで
プログラムのアルゴリズムがドキュメントとして残るので、いいのかもしれません
が、こういうソース形式で書いた方が実感がわくでしょ?)

がんばってね。

int main(int argc, char *argv[])
{
char buff[256];

/*引数とその数から、inファイルとoutファイルを区別*/

/*out-ファイルのオープン*/
fopen(out-ファイル, "w");

/*inファイルを順番に数分開いては、buffに読んで書いての繰り返し*/
for(i=0; i<inファイル数分; i++){
fopen(in-ファイル);

while( 1 ){
fread(buff, in-ファイル);
fwrite(buff, outファイル);
/*全部読み書きが終わったらwhileはbreakするよう
    freadとかに条件文をいれる*/
}
fclose(in-ファイル);
}

fclose(out-ファイル);

exit( 0 );
}

※エラーチェックも忘れずにいれるように!
※ここで表示されるとインデントが消えるみたいなんで、インデントも
 自分で書くときにはちゃんと入れてね。
    • good
    • 0
この回答へのお礼

mar328さん、本当にありがとうございます。
今後はこんな質問は決してしないようにします。
ちゃんと、勉強します。

お礼日時:2001/07/16 10:52

naturalです。


コメント読みました。
悲しいことですがやはり情報系の教員は人材不足の様ですね。(T^T)
あなたが仰っていることもよく解りますが、経験上きっと身にならないと思われるのでやはりそのまま載せるのはやめておきたいと思います。
そのかわり解くための鍵を差し上げましょう。

私が回答する際によく使う手なので他の方が見たら「またか・・・」と思うかも知れませんが、プログラムの流れを示したいと思います。
しかしその前にここだけはテキストで調べてみてください。
Haizyさんも仰っていたargcとargvについてです。(テキストには「メイン関数の引数とか言う項目で載っていると思います)
この部分の説明から書き出したらここではあまりにスペースが足りませんので。
調べて基本的な使い方が解ったらコメントに書き込んでください。
(まずは基本的な使い方を。恐らく構造まではまだ理解し難いと思われますので)
それが確認出来次第流れの説明をしたいと思います。
尚、基本的な使い方は短めのサンプルソースを追いながら学習するのが理解するためのコツです。
では、頑張ってくださいね。(^_^)
    • good
    • 0

naturalです。


一足違いで助け船が出てたんですね~。(^_^;
そちらを見る前に回答してしまいました。
「ちょー甘甘」、良いのではないでしょうか。(^_^)>mar328さん
教習所でも学校でも色々な先生がいるのですから。

さて、touch_me_8さん、折角mar328さんが提示してくれたヒントです。
しっかり理解してから進めましょうね。
でないと後々応用が利かなくて辛い思いをしますから・・・。

ここからの対応はmar328さんがした方が混乱が少ないと思いますので私は暫く傍観したいと思います。
よろしくお願いします。>mar328さん
    • good
    • 0
この回答へのお礼

naturalさん、本当にありがとうございます。
mar328さんにも言ったことなんですが、これからはこんなことがないようにします。

お礼日時:2001/07/16 10:56

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!