应该注意pstu两侧的括号不可少,因为成员符“”的优先级高于“”。如去掉括号写作pstunum则ท等效于pstunum,这样,意义就完全不对了。
例115
}
例如,定义一个函数,用于求两ä个数中的大数,可写为:
指数部分占的位数愈多,则能表示的数值范围愈大。
实型变量分为ฦ:单精度float型、双精度double型和长双精度弄double型三类。
例如:
fgetcfp;๙
但是读出的字符不能保存。
3在文件内部有一个ฐ位置指针。用来指向文件的当前读写字节。在文件打开时,该指针总是指向文件的第一个字节。使用fgetcນ函数后,该位置指针将向后移动一个字节。因此可连续多次使用fgetc函数,读取多个字符。应注意文件指针和文件内部的位置指针不是一回事。文件指针ฤ是指向整个文件的,须在程序中ณ定义说明,只要不重新า赋值,文件指针的值是不变的。文件内部ຖ的位置指针用以指示文件内部的当前读写位置,每读写一次,该指针ฤ均向后移动,它不需在程序中定义说明,而是由系统自动设置的。
例131读入文件cນ1doc,在屏幕上输出。
#include
main
{
filefp;
charch;๙
iffp=fopen"d:\\jrzh\\example\ຒ\9ull
{
printf"\ຒn9filestrikeanykeyexit!";
getch;
exit1;
}
ch=fgetcນfp;
9hilech!=eof
{
putcharcນh;
ch=fgetcfp;
}
fclo色fp;
}
本例程序的功能是从文件中逐个读取字符,在屏幕上显示。程序定义了文件指针fp,以读文本文件方แ式打开文件“d:\\jrzh\\example\ຒ\ex1_1c”,并使fp指向该文件。如打开文件出错,给出提示ิ并退出程序。程序第12行先读出一个ฐ字符,然后进入循环,只要读出的字符不是文件结束标志每个文件末有一结束标志eof就把该字符显示在屏幕上,再读入下一字符。每读一次,文件内部的位置指针向后移动一个字符,文件结束时,该指针指向eof。执行本程序将显示整个文件。
2写字符函数fputcນ
fputc函数的功能是把一个字符写入指定的文件中,函数调用的形式为ฦ:
fputc字符量,文件指针;
其中,待写入的字符量可以是字符常量或变量,例如:
fputc'a',fp;
其意义是把字符a写入fp所指向的文件中。
对于fputc函数的使用也要说明几点:
1被写入的文件可以用写、读写、追加方式打开,用写或读写方แ式打开一个已存在的文件时将清除原有的文件内容,写入字符从文件开始。如需保留原有文件内容,希望写入的字符以文件末开始存放,必须以追加方แ式打开文件。被写入的文件若不存在,则ท创建该文件。
2每写入一个字符,文件内部位置指针向后移动一个ฐ字节。
3fputc函数有一个返回值,如写入成功则返回写入的字符,否则返回一个eof。可用此来判断写入是否成功。
例132从键盘输入一行字符,写入一个ฐ文件,再把该文件内容读出显示ิ在屏幕上。
#include
main
{
filefp;
charch;
iffp=fopen"d:\ຒ\jrzh\\example\\string",ไ"9๗t+"==null
{
printf"9๗filestrikeanykeyexit!";
getch;
exit1;
}
printf"inputastring:\n";
ch=getchar;
9๗hile9'ู
{
fputcch,fp;
ch=getchar;
}
re9indfp;
ch=fgetcfp;๙
9hilech!ำ=eof
{
putcharch;
ch=fgetcfp;
}
printf"\n";๙
fclo色fp;
}
程序中第6行以读写文本文件方式打开文件string。程序第13行从键盘读入一个ฐ字符后进入循环,当读入字符不为回车符时,则ท把该字符写入文件之ใ中,然后继续从键盘读入下一字符。每输入一个字符,文件内部位置指针向后移动一个字节。写入完毕,该指针已指向文件末。如要把文件从头读出,须把指针移向文件头,程序第19行re9ind函数用于把fp所指文件的内部位置指针移到เ文件头。第20至25行用于读出文件中的一行内容。