有區(qū)別的
專注于為中小企業(yè)提供網(wǎng)站建設、成都網(wǎng)站建設服務,電腦端+手機端+微信端的三站合一,更高效的管理,為中小企業(yè)大悟免費做網(wǎng)站提供優(yōu)質的服務。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動了上千多家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設實現(xiàn)規(guī)模擴充和轉變。
if(fd=open("tem.txt",O_RDWR)==-1)
這里的話是先運行open("tem.txt",O_RDWR)==-1這個的,這個的值是0或者1的‘
那么FD的值就不是文件的頭指針了
而下面的是先運行fd=open("tem.txt",O_RDWR
然后再將FD和-1作比較的
1、read和write是UNIX或者一些類UNIX系統(tǒng),比如LINUX系統(tǒng)中使用的,稱為LINUX系統(tǒng)函數(shù)。這種函數(shù)只能在特定的操作系統(tǒng)下使用,可移植性差。fread和fwrite是C庫函數(shù)。這種函數(shù)基本在任何操作系統(tǒng)都能使用,可移植性高。
2、基礎知識介紹只介紹LINUX系統(tǒng)函數(shù),常用的有creat,open,close,read,write,lseek,access,一般用于文件編程
3、如何使用談到如何使用就必須說到另一個知識,文件描述符(file
description),是一個非負數(shù)。
函數(shù)原型:int
read(int
fd,
const
void
*buf,
size_t
length)
功能:
從文件描述符fd所指向的文件中讀取length個字節(jié)到buf所指向的緩存區(qū)中,返回值為實際讀取的字節(jié)數(shù)
int
write(int
fd,
const
void
*buf,
size_t
length)
功能:
把length個字節(jié)從buf所指向的緩存區(qū)中寫到件描述符fd所指向的文件中,返回值為實際寫入的字節(jié)數(shù)
例子:
#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);
read內部是調_read, _read的返回值在msdn中有這樣的描述
_read returns the number of bytes read, which might be less than count if there are fewer than count bytes left in the file or if the file was opened in text mode, in which case each carriage return–line feed (CR-LF) pair is replaced with a single linefeed character. Only the single linefeed character is counted in the return value. The replacement does not affect the file pointer.
注意這一段: in which case each carriage return–line feed (CR-LF) pair is replaced with a single linefeed character
就是說如果用text模式打開的話, 文件換行時可能在文本中有2個字符----換行和縮進(CR-LF), 而在return的時候系統(tǒng)是把它作為1個回車符號('\n')所返回的. 所以會導致這個情況
本文題目:c語言中read函數(shù)中 read c語言
網(wǎng)頁路徑:http://redsoil1982.com.cn/article26/hpddjg.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供響應式網(wǎng)站、服務器托管、手機網(wǎng)站建設、云服務器、全網(wǎng)營銷推廣、網(wǎng)站制作
聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)