examp

来源:互联网 发布:软件系统安全设计 编辑:程序博客网 时间:2024/06/03 22:09

【例13.1】读入文件c1.doc,在屏幕上输出。

#include<stdio.h>
main()
{
FILE *fp;
char ch;
if((fp=fopen("d://jrzh//example//c1.txt","rt"))==NULL)
{
printf(
"/nCannot open file strike any key exit!");
getch();
exit(1);
}
ch=fgetc(fp);
while(ch!=EOF)
{
putchar(ch);
ch=fgetc(fp);
}
fclose(fp);
}

本例程序的功能是从文件中逐个读取字符,在屏幕上显示。程序定义了文件指针fp,以读文本文件方式打开文件“d://jrzh//example//ex1_1.c”,并使fp指向该文件。如打开文件出错,给出提示并退出程序。程序第12行先读出一个字符,然后进入循环,只要读出的字符不是文件结束标志(每上,再读入下一字符。每读一次,文件内部的位置指针向后??本程序将显示整个文件。

2. 写字符函数fputc

fputc函数的功能??为:

fputc(字符量,文件指量或变量,例如:

fputc('a',fp);

其意putc函数的使用也要说明几点:

1) 被写入的文件可以用写、读写、追加方式打开,用写或读写方式??写入字符从文件首开始。如需保留原有文件内容,希望写入的字??被写入的文件若不存在,则创建该文件。

2) 每写入一个字符,文件内部位置指针向后移动一个字节。

3) fputc函数有一个返回值,如写入成功则返回写入的字符,否则返回一个EOF。可用此来判断写符,写入一个文件,再把该文件内容读出显示在屏幕上。

#include<stdio.h>

main()

{

FILE *fp;

char ch;

if((fp=fopen(
"d://jrzh//example//string","wt+"))==NULL)

{

printf(
"Cannot open file strike any key exit!");

getch();

exit(1);

}

printf(
"input a string:/n");

ch=getchar();

while (ch!='/n')

{

fputc(ch,fp);

ch=getchar();

}

rewind(fp);

ch=fgetc(fp);

while(ch!=EOF)

{

putchar(ch);

ch=fgetc(fp);

}

printf(
"/n");

fclose(fp);

}


程序中第6行以读写文本文件方式打开文件string。程序第13行从键盘读入一个字符后进入循环,当读入字符不为回车符时,则把该字符写入文件之中,然后继续从键盘读入下一字符。每输入一个字符,文件内部位置指针向后移动一个字节。写入完毕,该指针已指向文件末。如要把文件从头读出,须把指针移向文件头,程序第19行rewind函数用于把fp所指文件的内部位置指针移到文件头。第20至25行用于读出文件中的一行内容。

【例13.3】把命令行参数中的前一个文件名标识的文件,复制到后一个文件名标识的文件中,如命令行中只有一个文件名则把该文件写到标准输出文件(显示器)中。

#include<stdio.h>

main(int argc,char *argv[])
{

FILE *fp1,*fp2;
char ch;
if(argc==1)
{
printf(
"have not enter file name strike any key exit");
getch();
exit(0);
}
if((fp1=fopen(argv[1],
"rt"))==NULL)

{

printf(
"Cannot open %s/n",argv[1]);

g

原创粉丝点击