1.系统调用
所谓系统调用,是指操作系统提供给用户程序调用的一组“特殊”接口,用户程序可以通过这组“特殊”接口来获得操作系统内核提供的服务。
2.文件描述符
文件描述符是一个非负的整数,它是一个索引值,并指向内核中每个进程的记录表中
一个进程启动时,都会打开三个文件:
标准输入:STDIN-FILENO 0
标准输出:STDOUT-FILENO 1
标准处理错误:STDERR-FILENO 2
3.Linux文件
Linux 一点哲学,“一些皆为文件”;在Linux中对目录和设备的操作都等同于对文件的操作
Linux文件可分为:普通文件,目录文件,链接文件,设备文件
4。系统调用---创建(creat)
函数的作用:创建一个文件
函数的原型:int creat(const char *pathname,mode-tmode)
参数pathname是创建的文件的路径,mode是创健模式
eg: creat("/home/hello.c",S_IRUSR|S_IWUSR)
在home目录下创建一个hello.c文件,文件可读可写
也可以写成 creat("/home/hello.c",0666)
头文件:#include <sys/types.h>
#include <sys/stat.h>
#include <fcutl.h>
返回值:成功:新的文件描述符
错误:-1
例如:
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <stdio.h>
#incude <stdlib.h>
void creat(char *filename)
{
int result;
result = creat(filename,0755);
if(result < 0)
{
printf("creat file %s failure\n",filename);
exit(EXIT_FEILURE);
}
else
{
printf("creat file %s success\n,filename");
printf("%d\n",result);
}
}
int main(int argc,char *argv[]) //argc:已输入的参数个数;argv:以放的参数地址
{
int i;
if(argc < 3)
{
printf("you haven't input the filename,please try again\n");
}
for(i = 0; i < argc; i++)
{
creat_file(argv[i]);
}
exit(EXIT_SUCCESS);
}