C语言中的read和write怎么用?
4个回答
2013-06-10
展开全部
1.纠正:read和write是UNIX或者一些类UNIX系统,比如LINUX系统中使用的,称为LINUX系统函数。这种函数只能在特定的操作系统下使用,可移植性差。fread和fwrite是C库函数。这种函数基本在任何操作系统都能使用,可移植性高。2.基础知识介绍只介绍LINUX系统函数,常用的有creat,open,close,read,write,lseek,access,一般用于文件编程3.如何使用谈到如何使用就必须说到另一个知识,文件描述符(file description),是一个非负数。函数原型:int read(int fd, const void *buf, size_t length)功能: 从文件描述符fd所指向的文件中读取length个字节到buf所指向的缓存区中,返回值为实际读取的字节数int write(int fd, const void *buf, size_t length)功能: 把length个字节从buf所指向的缓存区中写到件描述符fd所指向的文件中,返回值为实际写入的字节数 例子:#define LENGTH 1024#define BUFFES_SIZE 1024int n1, n2;int fd1, fd2;int buffer[BUFFES_SIZE];fd1 = open( "HEllo1.txt", O_RDWR | O_CREAT, O_IRUSE | O_IWUSR);fd2 = open( "HEllo2.txt", O_RDWR | O_CREAT, O_IRUSE | O_IWUSR);n1 = read( fd1, buffer, LENGTH);n2 = write( fd2, buffer, n1); 好了累死了,答案完全原创,希望对你有帮助
2015-05-23 · 知道合伙人数码行家
关注
展开全部
1、read和write是UNIX或者一些类UNIX系统,比如LINUX系统中使用的,称为LINUX系统函数。这种函数只能在特定的操作系统下使用,可移植性差。fread和fwrite是C库函数。这种函数基本在任何操作系统都能使用,可移植性高。
2、基础知识介绍只介绍LINUX系统函数,常用的有creat,open,close,read,write,lseek,access,一般用于文件编程
3、如何使用谈到如何使用就必须说到另一个知识,文件描述符(file description),是一个非负数。
函数原型:int read(int fd, const void *buf, size_t length)
功能: 从文件描述符fd所指向的文件中读取length个字节到buf所指向的缓存区中,返回值为实际读取的字节数
int write(int fd, const void *buf, size_t length)
功能: 把length个字节从buf所指向的缓存区中写到件描述符fd所指向的文件中,返回值为实际写入的字节数
例子:
#define LENGTH 1024
#define BUFFES_SIZE 1024
int n1, n2;
int fd1, fd2;
int buffer[BUFFES_SIZE];fd1 = open( "HEllo1.txt", O_RDWR | O_CREAT, O_IRUSE | O_IWUSR);
fd2 = open( "HEllo2.txt", O_RDWR | O_CREAT, O_IRUSE | O_IWUSR);
n1 = read( fd1, buffer, LENGTH);
n2 = write( fd2, buffer, n1);
2、基础知识介绍只介绍LINUX系统函数,常用的有creat,open,close,read,write,lseek,access,一般用于文件编程
3、如何使用谈到如何使用就必须说到另一个知识,文件描述符(file description),是一个非负数。
函数原型:int read(int fd, const void *buf, size_t length)
功能: 从文件描述符fd所指向的文件中读取length个字节到buf所指向的缓存区中,返回值为实际读取的字节数
int write(int fd, const void *buf, size_t length)
功能: 把length个字节从buf所指向的缓存区中写到件描述符fd所指向的文件中,返回值为实际写入的字节数
例子:
#define LENGTH 1024
#define BUFFES_SIZE 1024
int n1, n2;
int fd1, fd2;
int buffer[BUFFES_SIZE];fd1 = open( "HEllo1.txt", O_RDWR | O_CREAT, O_IRUSE | O_IWUSR);
fd2 = open( "HEllo2.txt", O_RDWR | O_CREAT, O_IRUSE | O_IWUSR);
n1 = read( fd1, buffer, LENGTH);
n2 = write( fd2, buffer, n1);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-06-10
展开全部
那两个函数是用在unix中的,在windows中对应的函数为fread和fwrite,具体用法参见函数原型…
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-06-10
展开全部
用法都差不多!你会其中之一都行了…
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询