当前位置: > 华清远见教育科技集团 > 嵌入式学习 > 讲师博文 > 关于标准IO的打开函数
关于标准IO的打开函数
时间:2016-12-13作者:华清远见

说起标准IO,他是基于ansic标准的。Ansic就是美国标准协会制定的一个标准协议,我们常见的就是c89,c99.等等。这个标准说白了就是咱们用的哪些c库。换句话说只要有c库就可以使用标准IO。跟咱们的操作系统没有关系。

要说标准IO,我们要先知道一个结构体,FILE结构体。这个结构体是用来保存文件的信息。一般我们打开文件,内容都保存在FILE结构体中。

在标准IO中我们打开文件用的fopen这个函数,当然也会有其他几个函数,这个我就介绍常见的。Fopen的原型就是FILE *fopen(const char*path,const char *mode);

他的返回值就是FILE结构体的指针,存放的就是文件的信息。第一个参数就是文件的路径,第二个参数就是权限。

路径:1.绝对路径:就是从跟目录开始到但当前文件的路径,我们敲写pwd命令就是绝对路径。

            2.相对路径:就是当前的路径跟你当前的文件所在的路径相同就可以了。

权限:权限大概可以分3类。读,写,追加。

读权限:r 就是read,他的作用就是一以可读的权限打开文件。
                        他有个特别注意的地方就是文件必须存在,这个很好理解,要是文件
                        不存在,肯定不能独缺其中的内容的。
                        R+ 也是读权限,跟r基本上一样,但是他可以同事拥有读写的权限,
                        因为他有个"+"号

写权限:w write,他的作用就是以可写的权限打开文件。
                        他要注意的地方就是,要是文件存在,文件的内容就会消失,要是不存
                        在就会创建文件。
                        W+ r,r+ 的关系跟w w+的关系是一样的。W+的作用跟w是相同的
                        就是多了一个读权限。

追加权限:a add 我们说过我们要用w打开文件,文件的内容就消失了,要
                            是我们想在文件后面接着写内容怎么办,就用"a"。不存在也是创建
                            文件。当然a是写权限的
                            A+:a+就是有读写权限的a。

一般的使用就是先定义一个FILE结构体指针,然后用fopen给FILE结构体赋值。

#include <stdio.h>

        #define N 64
        Int main()
        {
                FILE *fp;
                Char buf[N];

                If((fp = open("test.c","w")) == NULL)
                {
                        Perror("test.c");
                        Fprintf(stdout,"open failed:%s\n",strerror);
                }
                Char *p = "hello";
                Char *p = "wrold";

                Fprintf(fp,"helloworld");
                Sprintf(buf,"%s%s",p,q);
                Fprintf(stdout,"%s\n",buf);
                Fclose(fp);

                Return 0;
        }

如果当前路径下有text.c文件就可以执行上面的函数操作。

发表评论
评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)