例10.1キーボードからいくつかの文字を入力し、ユーザーが「#」を入力するまで、1つずつディスクに送ります.
2224 ワード
解題の考え方:fgetc関数でキーボードから文字を1つずつ入力し、fputc関数でディスクファイルに書けばいい.
例10.2は、あるディスクファイルの情報を別のディスクファイルにコピーする.次に、上記の例で確立するfile 1を要求する.Dataファイルの内容を別のディスクファイルfile 2にコピーする.dat中です.
問題を解く構想:この問題を処理するアルゴリズムはfile 1からである.Dataファイルに文字を1つずつ読み込んでfile 2に出力.dat中です.
#include
#include
int main()
{FILE *fp;
char ch,filename[10];
printf(" :");
scanf("%s",filename);
if((fp=fopen(filename,"w"))==NULL) // fp
{
printf("
"); // , " "
exit(0); // */
}
ch=getchar( ); // scanf
printf(" ( # ):");
ch=getchar( ); //
while(ch!='#') // '#'
{
fputc(ch,fp); //
putchar(ch); //
ch=getchar(); //
}
fclose(fp); //
putchar(10); // , ASCII 10
return 0;
}
例10.2は、あるディスクファイルの情報を別のディスクファイルにコピーする.次に、上記の例で確立するfile 1を要求する.Dataファイルの内容を別のディスクファイルfile 2にコピーする.dat中です.
問題を解く構想:この問題を処理するアルゴリズムはfile 1からである.Dataファイルに文字を1つずつ読み込んでfile 2に出力.dat中です.
#include
#include
int main( )
{FILE *in,*out;
char ch,infile[10],outfile[10]; // ,
printf(" :");
scanf("%s",infile); //
printf(" :");
scanf("%s",outfile); //
if((in=fopen(infile,"r"))==NULL) //
{printf("
");
exit(0);
}
if((out=fopen(outfile,"w"))==NULL) //
{printf("
");
exit(0);
}
while(!feof(in)) //
{ch=fgetc(in); // , ch
fputc(ch,out); // ch
putchar(ch); // ch
}
putchar(10); //
fclose(in); //
fclose(out); //
return 0;
}