当前位置:主页 > 软件编程 > C代码 >

使用C语言操作文件的基本函数整理

时间:2021-10-01 13:04:13 | 栏目:C代码 | 点击:

C语言creat()函数:创建文件函数

头文件:

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

定义函数:

int creat(const char * pathname, mode_tmode);

函数说明:
1、参数 pathname 指向欲建立的文件路径字符串。
2、Creat()相当于使用下列的调用方式调用open()
    open(const char * pathname, (O_CREAT|O_WRONLY|O_TRUNC));

错误代码:关于参数 mode 请参考open()函数.

返回值:

附加说明:creat()无法建立特别的装置文件, 如果需要请使用mknod().


C语言open()函数:打开文件函数

头文件:

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

定义函数:

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

函数说明:

参数 pathname 指向欲打开的文件路径字符串. 下列是参数flags 所能使用的旗标:

参数mode 则有下列数种组合, 只有在建立新文件时才会生效, 此外真正建文件时的权限会受到umask 值所影响, 因此该文件权限应该为 (mode-umaks).

返回值:若所有欲核查的权限都通过了检查则返回0 值, 表示成功, 只要有一个权限被禁止则返回-1.

错误代码:

附加说明:使用 access()作用户认证方面的判断要特别小心, 例如在access()后再作open()空文件可能会造成系统安全上的问题.

范例

#include <unistd.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
main()
{
  int fd, size;
  char s[] = "Linux Programmer!\n", buffer[80];
  fd = open("/tmp/temp", O_WRONLY|O_CREAT);
  write(fd, s, sizeof(s));
  close(fd);
  fd = open("/tmp/temp", O_RDONLY);
  size = read(fd, buffer, sizeof(buffer));
  close(fd);
  printf("%s", buffer);
}

执行

Linux Programmer!

C语言close()函数:关闭文件

头文件:

#include <unistd.h>

定义函数:

int close(int fd);

函数说明:当使用完文件后若已不再需要则可使用 close()关闭该文件, 二close()会让数据写回磁盘, 并释放该文件所占用的资源. 参数fd 为先前由open()或creat()所返回的文件描述词.

返回值:若文件顺利关闭则返回0, 发生错误时返回-1.

错误代码:EBADF 参数fd 非有效的文件描述词或该文件已关闭.

附加说明:虽然在进程结束时, 系统会自动关闭已打开的文件, 但仍建议自行关闭文件, 并确实检查返回值.

您可能感兴趣的文章:

相关文章