c語言中的read
⑴ c語言 write()、read()函數原型
把指定數量的數據寫入文件,若成功則返回寫入的位元組數,否則返回-1
int _write( int handle, const void *buffer, unsigned int count );
這個例子中把字元串「hello」寫入文件sample.txt中:
int Handle; char String[ ]="hello";
Handle = _open("sample.txt",_O_RDWR|_O_CREAT);
_write(Handle,String,sizeof(String));
_close(Handle);
從一個文件讀取數據
int _read( int handle, void *buffer, unsigned int count );
這個例子中打開文件eof.c,每次讀取10個位元組,直到全部位元組被讀完為止,然後顯示文件的長度:
void main( void ) {
int fh, count, total = 0;
char buf[10];
if( (fh = _open( "eof.c", _O_RDONLY )) == - 1 ) {
perror( "Open failed");
exit( 1 );
}
while( !_eof( fh ) ) {
if( (count = _read( fh, buf, 10 )) == -1 ) {
perror( "Read error" );
break;
}
total += count;
}
printf( "Number of bytes read = %d\n", total );
_close( fh );
}
⑵ C語言中的read和write怎麼用
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);
好了累死了,答案完全原創,希望對你有幫助