C语言课件系列
●关于exit()函数
1)用法:void exit([程序状态值]);
2)功能:关闭已打开的所有文件,结束程序运行,返回操作系统,并将“程序状态值”返回给操作系统。当“程序状态值”为0时,表示程序正常退出;非0值nt argc, char *argv[])
{ FILE *fp;
char ch;
if(argc!=2) /*参数个数不对*/
{ printf("the number of arguments not correct\n");
printf(“\n Usage: 可执行文件名 源文件名");
exit(0);
}
if ((fp=fopen(argv[1],"r"))==NULL)
{ printf("can not open source file\n");
exit(0);
}
/*顺序输出文件的内容*/
for(; (ch=fgetc(fp))!=EOF; )
putchar(ch); /*顺序读入并显示*/
fclose(fp); /*关闭打开的文件*/
}
[程序演示]
程序运行情况:
abcdefg1234567
(1)库函数fgetc()
1)用法:int fgetc(文件指针);
2)功能:从“文件指针”所指向的文件中,读入一个字符,同时将读写位置指针向前移动1个字节(即指向下一个字符)。该函数无出错返回值。
例如,fgetc(fp)表达式,从文件fp中读一个字符,同时将fp的读写位置指针向前移动到下一个字符。
(2)关于符号常量EOF
在对ASCII码文件执行读入操作时,如果遇到文件尾,则读操作函数返回一个文件结束标志EOF(-1)。
在对二进制文件执行读入操作时,必须使用库函数feof()来判断是否遇到文件尾。
[] 实现制作ASCII码文件副本的功能。
/*案例代码文件名:*/
/*程序功能:制作ASCII码文件的副本*/
/*使用格式:可执行文件名 源文件名 目标文件名*/
#include ""
main(int argc, char *argv[])
{ FILE *input, *output; /* input:源文件指针, output:目标文件指针 */
char ch;
if(argc!=3) /*参数个数不对*/
{ printf("the number of arguments not correct\n");
printf("\n Usage: 可执行文件名 source-file dest-file");
exit(0);
}
if ((fp=fopen(argv[1],"r"))==NULL) /*打开源文件失败*/
{ printf("can not open source file\n");
exit(0);
}
if ((fp=fopen(argv[2],"w"))==NULL) /*创建目标文件失败*/
{ printf("can not create destination file\n");
exit(0);
}
/*复制源文件到目标文件中*/
for( ; (!feof(input)) ; ) fputc(fgetc(input),output);
fclose(input); fclose(output); /*关闭源文件和目标文件*/
}
[程序演示]
库函数feof(): 1)用法:int feof(文件指针); 2)功能:在执行读文件操作时,如果遇到文件尾,则函数返回逻辑真(1);否则,则返回逻辑假(0)。feof()函数同时适用于ASCII码文件和二进制文件。 例如,!feof(input))表示源文件(用于输入)未结束,循环继续。
[Return]
读/写一个字符串──
C语言课件系列 来自淘豆网m.daumloan.com转载请标明出处.