mmap函数c语言 c语言map函数用法( 二 )


5. 实例
【例】显示指定文件的内容 。
//程序名为:display.c
//执行时可用:display filename1 形式的命令行运行 。显示文件filename1中的内容 。例如,执行命令行display display.c将在屏幕上显示display的原代码 。
//File display program.
#include stdio.h
void main(int argc,char *argv[]) //命令行参数
{
int ch;//定义文件类型指针
【mmap函数c语言 c语言map函数用法】FILE *fp;//判断命令行是否正确
if(argc!=2)
{
printf("Error format,Usage: display filename1\n");
return; //键入了错误的命令行,结束程序的执行
}
//按读方式打开由argv[1]指出的文件
if((fp=fopen(argv[1],"r"))==NULL)
{
printf("The file %s can not be opened.\n",argv[1]);//打开操作不成功
return;//结束程序的执行
}
//成功打开了argv[1]所指文件
ch=fgetc(fp); //从fp所指文件的当前指针位置读取一个字符
while(ch!=EOF) //判断刚读取的字符是否是文件结束符
{
putchar(ch); //若不是结束符,将它输出到屏幕上显示
ch=fgetc(fp); //继续从fp所指文件中读取下一个字符
} //完成将fp所指文件的内容输出到屏幕上显示
fclose(fp); //关闭fp所指文件
}
B. 写一个字符到文件中去
1. 函数原型
int fputc(int ch,FILE *fp)
2. 功能说明
把ch中的字符写入由fp指出的文件中去 。
3. 参数说明
ch:是一个整型变量 , 内存要写到文件中的字符(C语言中整型量和字符量可以通用) 。
fp:这是个文件指针,指出要在其中写入字符的文件 。
4. 返回值
正常返回: 要写入字符的代码 。
非正常返回:返回EOF 。例如,要往"读打开"文件中写一个字符时 , 会发生错误而返回一个EOF 。
5. 实例
【例】将一个文件的内容复制到另一个文件中去 。
//程序名为:copyfile.c
//执行时可用:copyfile filename1 filename2形式的命令行运行,将文件filename1中的内容复制到文件filename2中去 。
//file copy program.
#include stdio.h
void main(int argc,char *argv[]) //命令行参数
{
int ch;
FILE *in,*out; //定义in和out两个文件类型指针
if(argc!=3) //判断命令行是否正确
{
printf("Error in format,Usage: copyfile filename1 filename2\n");
return; //命令行错,结束程序的执行
}
//按读方式打开由argv[1]指出的文件
if((in=fopen(argv[1],"r"))==NULL)
{
printf("The file %s can not be opened.\n",argv[1]);
return; //打开失败,结束程序的执行
}
//成功打开了argv[1]所指文件,再
//按写方式打开由argv[2]指出的文件
if((out=fopen(argv[2],"w"))==NULL)
{
printf("The file %s can not be opened.\n",argv[2]);
return; //打开失败,结束程序的执行
}
//成功打开了argv[2]所指文件
ch=fgetc(in); //从in所指文件的当前指针位置读取一个字符
while(ch!=EOF) //判断刚读取的字符是否是文件结束符
{
fputc(ch,out); //若不是结束符 , 将它写入out所指文件
ch=fgetc(in); //继续从in所指文件中读取下一个字符
} //完成将in所指文件的内容写入(复制)到out所指文件中
fclose(in); //关闭in所指文件
fclose(out); //关闭out所指文件
}
【例】按十进制和字符显示文件代码,若遇不可示字符就用井号"#"字符代替之 。
//程序名为:dumpf.c
//执行时可用:dumpf filename1 形式的命令行运行 。
// File dump program.
#include stdio.h
void main(int argc,char *argv[])

推荐阅读