当前位置:首页 > 嵌入式 > 嵌入式教程
[导读]说起标准IO,他是基于ansic标准的。Ansic就是美国国家标准协会制定的一个标准协议,我们常见的就是c89,c99.等等。这个标准说白了就是咱们用的哪些c库。换句话说只要有c库就

说起标准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

#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文件就可以执行上面的函数操作。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
换一批
延伸阅读
关闭