例115

下面通过例子来说明结构指针变量的具体说明和使用方法。

例如,定义一个函数,用于求两个ฐ数中的大数,可写为:

有参函数比无参函数多了一个内容,即形式参数表列ต。在形参表中给出的参数称为形式参数,它们可以是各种类型的变量,各参数之间用逗号间隔。在进行函数调用时,主调函数将赋予这些形式参数实际的值。形参既ຂ然是变量,必须在形参表中ณ给出形参的类型说明。

实型变量分为ฦ:单精度float型、双精度doubຘle型和长双精度弄doubຘle型三类。

2实型变量的分类

例如:

fgetcfp;

但是读出的字符不能ม保存。

3在文件内部有一个位置指针。用来指向文件的当前๩读写字节。在文件打开时,该指针总是指向文件的第一个ฐ字节。使用fgetcນ函数后,该位置指针将向后移动一个字节。因此可连续多次使用fgetc函数,读取多个字符。应注意文件指针ฤ和文件内部的位置指针不是一回事。文件指针ฤ是指向整个文件的,须在程序中定义แ说明,只要不重新赋值,文件指针的值是不变的。文件内部的位置指针用以指示文件内部的当前读写位置,每读写一次,该指针均向后移动,它不需在程序中定义说明,而是由系统自动设置的。

例13๑1读入文件cນ1doc,在屏幕上输出。

#incນlude

main

{

filefp;

charch;๙

iffp=๡fopen"d:\\ຒjrzh\\ຒexample\\9ull

{

printf"\ຒn9๗filestrikeanykeyexit!";

getch;

exit1้;

}

ch=๡fgetcນfp;

9hilech!=eof

{

putchaທrcນh;๙

ch=fgetcfp;

}

fcນlo色fp;๙

}

本例程序的功能ม是从文件中逐个读取字符,在屏幕上显示ิ。程序定义แ了文件指针fp,以读文本文件方式打开文件“d:๘\\ຒjrzh\\ຒexample\\ex1้_1c”,并使fp指向该文件。如打开文件出错,给出提示并退出程序。程序第12行先读出一个字符,然后进入循环,只要读出的字符不是文件结束标志每个文件末有一结束标志eof就把该字符显示ิ在屏幕上,再读入下一字符。每读一次,文件内部ຖ的位置指针向后移动一个字符,文件结束时,该指针指向eof。执行本程序将显示整个文件。

2写字符函数fputcນ

fputc函数的功能是把一个字符写入指定的文件中,函数调用的形式为:

fputcນ字符量,文件指针ฤ;

其中ณ,待写入的字符量可以是字符常量或变量,例如:

fputcນ'a',fp;

其意义是把字符a写入fp所指向的文件中ณ。

对于fputc函数的使用也要说明几点:

1被写入的文件可以用写、读写、追加方แ式打开,用写或读写方式打开一个已存在的文件时将清除原有的文件内容,写入字符从文件开始。如需保留原有文件内容,希望写入的字符以文件末开始存放,必须以追加方式打开文件。被写入的文件若不存在,则ท创建该文件。

2每写入一个字符,文件内部位置指针向后移动一个字节。

3fputc函数有一个返回值,如写入成功则返回写入的字符,否则返回一个eof。可用此来判ศ断写入是否成功。

例1้32๐从键盘输入一行字符,写入一个ฐ文件,再把该文件内容读出显示ิ在屏幕上。

#ีinclude

main

{

filefp;

chaທrch;

iffp=fopen"d:\ຒ\jrzh\\example\\ຒstring","9๗t+ใ"==null

{

printf"ิ9filestrikeanykeyexit!";

getch;

exit1;

}

printf"inputastring:๘\n";

ch=getchar;

9hile9'ู

{

fputh,fp;๙

ch=getchar;

}

re9๗indfp;

ch=fgetcfp;๙

9hilech!ำ=eof