一、系统调用和函数调用
(一)、系统调用依赖于系统,函数库不依赖于系统(二)、系统调用无缓冲区,函数库有缓冲区
(三)、图释:
(四)、缓冲区类型:1、全缓冲(全部到缓冲区) 2、行缓冲
(五)、相关API:
1、sprintf(msg,"%d:%s:%s:%s",id,name,tel,addr);
将内容注入msg
fprintf(stdout,"%d:%s:%s:%s:%c",id,name,tel,addr,'\n');
将内容输出至终端
fgets(msg,sizeof(msg),stdin); 从终端上获取数据
printf("msg = %s\n",msg);
或者fputs(msg,stderr); stderr出错处理
2、read(0,buf,sizeof(buf));
printf("buf = %s\n",buf);
write(1,buf,sizeof(buf)); 打印至终端
write(2,buf,sizeof(buf)); 打印至终端(可出错处理)
1和2代表的是参数类型
1:STDIN_FILENO 2:STDOUT_FILENO
包括的头文件为: #include <unistd.h>
3、综合:对普通文件的操作,尽量用库函数做。其他文件用系统调用