作成したファイルsample.txtを読み込んで別のファイルに書き出す関数プログラムを作る。
ただし、読み込むファイルの名前部分はイニシャル部分(先頭3文字)のみを読み込むこと。
という問題なのですが、ヒントでmain関数でファイルの読み込みと書き込みファイルを指定し、もう一つの関数で指定したファイル(sample.txt)を開き新たなファイルに書き込む。書き込み時にイニシャルに変換しておく。
戻り値は書き込んだ件数を使い、書き込んだ件数を出力させる。
というヒントをもらったのですが、関数を使わずに新たなファイルに書き込む事はできたのですが、イニシャルと書き込んだ件数はどうすれば出てきてくれるのか分かりません。
長文になりましたがお手伝いお願いします。
sample.txt
1990/1/1 K.Oaaa
1890/8/9 I.Aders
2013/6/9 S.Cgsogaerg
1679/7/1 H.Owegr
509/4/29 H.Mer
4000/4/4 R.Ydfw
1945/5/3 D.Hgerwe
1043/9/9 K.Ofwga
1800/2/27 N.York
2009/8/4 J.Krenntan
#include<stdio.h>
int FileInitialCopy(char *InFname, char *OutFname);
int main(void)
{
FILE *fp, *op;
char fname[20];
char i;
printf("ファイル名:"); scanf("%s", fname); //書き込みファイル指定
fp = fopen("sample.txt", "r"); //読み込みファイル
if (fp == NULL){
printf("ファイルオープンできませんでした。\n");
return 1;
}
else{
printf("ファイルオープン成功しました。\n");
}
op = fopen(fname, "w"); //コピー先
while ((i = fgetc(fp)) != EOF)
{
putchar(i);
fputc(i, op);
}
fclose(fp);
fclose(op);
return 0;
}
int FileInitialCopy(char *InFname, char *OutFname)
{
}