プロが教える店舗&オフィスのセキュリティ対策術

C言語の演習課題で困っておりまして、
質問させていただきます。

ファイル名をコンソールから指定し内容を1行ずつ読み込んだ後
行番号をつけて別のファイルに書き込むという問題なのですが
最初から壁にぶち当たっている状態です…。

どなたかご教授よろしくお願いします。

A 回答 (6件)

#include <stdio.h>


#include <stdlib.h>

int main(void){
char file0[64];
char file1[64];
unsigned short i;
char buff[256];
FILE *fp0;
FILE *fp1;

printf("\n\n");
printf("input file_name : ");
scanf("%s", file0);
printf("\n");

printf("output file_name : ");
scanf("%s", file1);
printf("\n");

printf("input:%s\n",file0);
printf("output :%s\n",file1);

if(NULL==(fp0=fopen(file0,"r"))){
printf("\7\n ng : %s\n",file0);
exit(1);
}

if(NULL==(fp1=fopen(file1,"w"))){
printf("\7\n ng : %s\n",file1);
exit(1);
}

for(i=0;i<1000;++i){
if(NULL==fgets(buff,255,fp0)){
break;
}
fprintf(fp1,"%5d: %s",i+1,buff);
}

fclose(fp0);
fclose(fp1);
}
    • good
    • 1
この回答へのお礼

回答ありがとうございます!

自分でも色々勉強しましたが、なるほど~こうやってやるんですね!
非常に良い参考になりました!
ありがとうございました!

お礼日時:2003/04/27 10:22

う~ん。

。。詳しいほうじゃないんで、環境とかによって
変わってくると思いますが、僕の知ってるのんは、

%cat -n ファイル名|lpr

って、実行とかするところでうったら、プログラムに
行番号を付けて印刷できるんですよ。

これを利用して、

%cat -n ファイル名 > 新しいファイル名

みたいな感じなことやったら、いけるかも?
かなりアバウトなこと言うてすみません。。。

とりあえず、僕が言えることは、こうこうこうゆう
環境でCプログラム作ってます!ってのを質問に入れた
方がいいと思います!!

この回答への補足

回答ありがとうございます!

GOOでの質問も初めてでして、、、色々いたらない部分
で皆さんを困惑させてしまったようです。

ご忠告肝に銘じます。

補足日時:2003/04/27 10:18
    • good
    • 0

プログラムの経験はどの位?



strcat じゃなく sprintf を使った方が楽か。

sprintf 格納バッファ "%04d:%s" 行番号 読み込んだ行

こんな感じ(^o^)

この回答への補足

お返事ありがとうございます。

すいません、プログラム経験はまだ2週間なのです。

Cに至ってはポインタすら習っておりません…

具体的にどういった関数をどういった表現で記述する
のか?という知識が絶対的に不足しております故

補足日時:2003/04/24 13:52
    • good
    • 0

> 行番号を付加する方法に手間取っておりまして、、、



int lineNumber = 0;
char line[256]; // ここに読み込む

FILE* ifp = ... // 読み込むファイル
FILE* ofp = ... // 書き込むファイル

while ( ifpから一行分lineに読み込む ) {
fprintf( ofp, "%04d: %s", ++lineNumber, line);
}
    • good
    • 0
この回答へのお礼

回答ありがとうございます!

なにぶん、ファイル操作を勉強し始めたのが
昨日という段階でして…

何はともあれ感謝致します!

お礼日時:2003/04/24 14:31

fopen,fclose,fgets,fputs,strcat



このあたりの関数を使えば出来るでしょ。

この回答への補足

回答ありがとうございます。

下でも書きましたが、
行番号を付加する方法がわからない状態なんです。

そういった関数をどのように使うのか?という疑問点が
最大の難関になっておりまして、、

補足日時:2003/04/24 10:43
    • good
    • 0

何がわからないのかを明記してください。



- ファイル名を得る方法ですか?
- ファイルをオープンする方法ですか?
- ファイルから読み込む方法ですか?
- 行番号を付加する方法ですか?
- ファイルに書き込む方法ですか?
- ファイルを閉じる方法ですか?
- コンパイルの方法ですか?
- 実行の方法ですか?

この回答への補足

非常にあいまいな質問でしたね…。
ご指摘ありがとうございます。

行番号を付加する方法に手間取っておりまして、、、
よろしければ回答のほどお願いします

補足日時:2003/04/24 10:40
    • good
    • 0

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