使用Linux的系统调用open、write

编程从键盘中输入10个学生的有关数据,然后把他们转存到磁盘文件中

open函数原型:

   int open(const char *pathname, int flags);
   int open(const char *pathname, int flags, mode_t mode);

pathname : 待打开 / 创建文件的路径名
flags : 用于指定打开文件 / 创建文件的方式
mode : 仅当创建新文件(在flags中使用了O_CREAT)时才使用,用于指定文件的访问权限
flags类型有:

  • O_RDONLY :只读方式打开
  • O_WRONLY : 只写方式打开
  • O_RDWR : 可读可写方式打开 (这个较为常用)

write原型函数:

write(int fd, const void *buf, size_t count);

fd:要进行写操作的文件描述词。
buf:需要输出的缓冲区(读入数据的地方,例如字符串等)
count:最大输出字节计数
返回值:成功返回写入的字节数,出错返回-1并设置errno

#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>

int mian()
{
  int fa;  //文件描述符
  //可读可写打开
  fa = open(“./fire1.txt”,O_RDWR); 
  char msg[10] = {0};
  for (int i = 0; i < 10; i++)
  {
    msg[i] = i;
  }
  int n_write = write(fa , msg, strlen(buf));
  close(fa);
  return 0;
}