3.文件操作

1. /dev/console  /dev/tty  /dev/null  /dev/zero

2. 系统调用会影响系统性能,程序中应该尽量减少调用次数,并让每次调用尽可能完成多的任务
  
   #include<unistd.h>
   size_t write (int fildes, const void *buf, size_t nbytes); //write可能会报告它写入大字节比你要求大少,这并不一定是个错误,程序中你需要检查errno错误,然后再次调用write写入剩下大数据
   size_t read (int filds, const void *buf, size_t nbytes);
   int close (int fildes);
   int ioctl(int fildes, int cmd, ...)
   int dup(int fildes)
   int dup2 (int fildes, int fildes2)

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

   int open (const char *path, int oflags, mode_t mode)//如果两次程序打开同一个文件,写入的数据会彼此覆盖,错误返回-1,一个程序能打开大文件数目是有限大,在limits.h中的OPEN_MAX规定
   int fstat (int fildes, struct stat *buf)
   int stat (const char *path, struct stat *buf)
   int lstat (const char *path, struct stat *buf)

   #include <unistd.h>
   #include <sys/types.h>
  
   off_t lseek (int fildes, off_t offset, int whence)

3.标准库IO
  #include<stdio.h>
  FILE *fopen(const char *filename, const char *mode) //正确时返回一个非空指针,失败返回NULL,NULL定义在头文件stdio.h里
  size_t fread (void *ptr, size_t size, size_t nitems, FILE *stream);
  size_t fwrite (void *ptr, size_t size, size_ nitems, FILE *stream);
  int fclose(FILE *stream);
  int fflush(FILE *stream);
  int fseek (FILE *stream, long int offset, int whence);

  int fgetc(FILE *stream);
  int getc(FILE *stream);
  int getchar( );

  int fputc(int c, FILE *stream);
  int putc(int c, File *stream);
  int putchar( int c );//请注意字符是当成int类型,这就使得文件尾EOF标识符取-1

  char *fgets(char *s, int n, FILE *stream);//这个函数会把换行符也接收进来,再加一个空子节,所以只能传输n-1个字节
  char *gets(char *s);                    //没有规定字节数,可能会誉出

  int printf(const char *format, ...)
  int sprintf(char *s, const char *format,...)//输出后加一个空字符传给*s,*s必须足够大
  int fprintf(FILE *stream, const char *format,...)

  int scanf(const char *format, ...)
  int fscanf(FILE *stream, const char *format,...)
  int sscanf(const char *s, const char *format...)

  #include<errno.h>
  extern int errno

  #include<stdio.h>
  int ferro(FILE *stream)
  int feof(FILE *stream)
  void clearerr(FIle *stream)

  #include<stdio.h>
  int fileno(FILE *stream)
  FILE *fdopen(int fildes, const char *mode)

   #include<sys/stat.h>
   chmod 用来修改权限
   umask 用来设定创建文件时的默认权限 chmod = 0777 - umask

  #include<unistd.h>
  int chown(const char *path,uid_t owner, gid_t group)

  #include <fcntl.h>
  int fcntl(int fildes, int cmd)
  int fcntl(int fildes, int cmd, long arg)

  mmap函数
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值