>、基于C的文件操作
>一、流式文件操作
>typedef struct {
> FILE这个结构包含了文件操作的基本属性,对文件的操作都要通过这个结构的指针来进行,此种文件操作常用的函数见下表 函数 功能 6 u3 B. @7 H4 l# r5 B2 D
>
>1.fopen()
>为使用而打开一个流
>字符串 含义
> 一个文件可以以文本模式或二进制模式打开,这两种的区别是:在文本模式中回车被当成一个字符'\n',而二进制模式认为它是两个字符0x0D,0x0A;如果在文件中读到0x1B,文本模式会认为这是文件结束符,也就是二进制模型不会对文件进行处理,而文本方式会按一定的方式对数据作相应的转换。</P>
> 系统默认的是以文本模式打开,可以修改全部变量_fmode的值来修改这个设置,例如_fmode=O_TEXT;就设置默认打开方式为文本模式;而_fmode=O_BINARY;则设置默认打开方式是二进制模式。</P>
> 我们也可以在模式字符串中指定打开的模式,如"rb"表示以二进制模式打开只读文件,"w+t"或"wt+"表示以文本模式打开读/写文件。</P>
> 此函数返回一个FILE指针,所以申明一个FILE指针后不用初始化,而是用fopen()来返回一个指针并与一个特定的文件相连,如果成败,返回NULL。</P>1 k' @; R! @+ a9 ~* i$ O' u% h" o
>例:</P>* u* O9 x0 n! A2 R
> FILE *fp;
>2.fclose() & t$ {1 a# l. M8 f
> 在程序结束时一定要记得关闭打开的文件,不然可能会造成数据丢失的情况,我以前就经常犯这样的毛病。</P>, }/ a) q5 f9 M% Z
>例:fclose(fp);</P>' o% F, l) Q1 L& S& T
>3.fputc()
>例:fputc('X',fp);</P>
>4.fgetc()
>例:char ch1=fgetc(fp);</P>
>5. fseek()
>符号常量 值 基准位置
>例:fseek(fp,1234L,SEEK_CUR);//把读写位置从当前位置向后移动1234字节(L后缀表示长整数)</P>
> fseek(fp,0L,2);//把读写位置移动到文件尾</P>
>6.fputs()
>例:fputs("I Love You",fp);</P>
>7.fgets()
>例:如果一个文件的当前位置的文本如下</P>
>Love ,I Have</P>| 欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) | Powered by Discuz! X2.5 |