与 read, write 等配合使用
1.1包含头文件
#include
#include
#include
1.2函数原型
int open(const char *pathname, int flags);
int open(const char *pathname, int flags, mode_t mode);
open函数返回一个文件描述符,一个小的非负整数,后面操作这个文件时就用这个文件描述符。
1.3函数参数讲解
int open(const char *pathname, int flags);
const char *pathname :路径名,是一个字符串
int flags:
O_RDONLY 1 只读打开
O_WRONLY 2 只写打开
O_RDWR 4 读写打开
如果open打开一个文件的时候,没有该文件,那么应该使用一下函数
int open(const char *pathname, int flags, mode_t mode);
示例
open("./file",O_RDWR|O_CREAT,0600);
如果没有file文件,加上(|O_CREAT),创建文件,并且给文件权限,第三个参数就是权限,这里我们系=写0600,为可读可写。
完整代码如下:
#include
#include
#include
#include
#include
int main()
{
int fd;//文件描述符,int类型
fd = open("./file",O_RDWR);
if(fd = -1) //文件创建成功,返回非负整数
{
perror("why:");//打印出错原因
fd = open("./file",O_RDWR|O_CREAT,0600);//如果没有该文件,创建文件并且权限为0600(可读可写);
if(fd > 0)
{
printf("file creat successful,fd=%d \n",fd);
}
}
return 0;
}
这样就创建了一个文件,并且权限为可读可写。
与 fread, fwrite等配合使用。
1.1包含头文件
include
1.2函数原型
FILE *fopen(const char *pathname, const char *mode);
fopen函数返回一个文件指针。
1.3函数参数讲解
filename :文件名称
mode 打开模式:
r 只读方式打开一个文本文件
w 只写方式打开一个文本文件
r+ 可读可写方式打开一个文本文件
w+ 可读可写方式创建一个文本文件
这几个为常用参数
popen函数可以获取系统指令执行的输出结果。
system函数直接在终端执行指令 ,数据会流失。
函数原型
FILE *popen(const char *command, const char *type);
参数const char *command要使用的命令
参数type可使用“r”代表读取,“w”代表写入。
#include
int main()
{
char ret[1024] = {'\0'};
FILE *fp;
int n_read=0;
fp = popen("ps","r");
n_read = fread(ret,1,1024,fp);
printf("n_read = %d ret =\n %s \n",n_read,ret);
return 0;
}
popen函数会将指令执行结果会流到 popen函数开辟的管道fp里面去,后面就可以用fread,fwrite函数对执行结果进行操作。