linux第三次作业实验课,zymtql !
一、标准io和文件io
首先我们需要了解操作系统当中存在有两种io的方式,一种是文件io,一种则是标准io。那么两种io有什么区别?功能有什么不同呢?
首先来看一个区分的表:
以上就是使用标准io和文件io可以调用的函数区别。很明显,标准io的功能明显要多于文件io,实际上标准io也就是在文件io的基础上进行封装而来的,标准io增加了缓冲机制,即以前可能使用文件io是直接执行系统调用的,现在使用标准io则可以先读写缓存区,必要时再访问实际文件,这样就大大地减少了执行系统调用的次数。
二、io函数的使用方式(以第三次作业为例)
#include<stdio.h>
#include<string.h>
int main(int argc,char **argv){
FILE *fp;
char buff[255];
//1.打开文件并写入
fp = fopen("test.txt", "a+");
fputs( "hello world\n",fp);
fclose(fp);
//2.打开文件并读取
fp = fopen("test.txt","r+");
fgets(buff,255,fp);
printf("%s\n",buff);
fclose(fp);
return 0;
}
很明显,这就是先打开一个文件,如果文件不存在则创建文件,然后打开文件,再用fputs函数写入字符串,最后关闭文件;再用fp指针打开文件,获取到文件中的字符串,再用printf函数打印出获取到的字符串,最后关闭文件。
标准io可用的读写函数很多,用哪一种都可以,并不一定非要用这两种,其他的一些函数也都可以了解一下,不同函数读取文件中字符串的方式也不一样。