真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

c語言中運(yùn)行open函數(shù) c語言openfile

c 語言open()函數(shù)

windows下的文件操作,一般都用C語言的文件函數(shù),其中文件打開函數(shù)fopen

創(chuàng)新互聯(lián)專注于企業(yè)成都營(yíng)銷網(wǎng)站建設(shè)、網(wǎng)站重做改版、細(xì)河網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、H5高端網(wǎng)站建設(shè)、商城網(wǎng)站制作、集團(tuán)公司官網(wǎng)建設(shè)、外貿(mào)網(wǎng)站制作、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性價(jià)比高,為細(xì)河等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。

fopen函數(shù)用來打開一個(gè)文件,其調(diào)用的一般形式為:

文件指針名=fopen(文件名,使用文件方式)

其中,“文件指針名”必須是被說明為FILE 類型的指針變量,“文件名”是被打開文件的文件名。 “使用文件方式”是指文件的類型和操作要求。“文件名”是字符串常量或字符串?dāng)?shù)組。例如:

FILE *fp;

fp=("file a","r");

其意義是在當(dāng)前目錄下打開文件file a, 只允許進(jìn)行“讀”操作,并使fp指向該文件。

又如:

FILE *fphzk

fphzk=("c:\\hzk16',"rb")

其意義是打開C驅(qū)動(dòng)器磁盤的根目錄下的文件hzk16, 這是一個(gè)二進(jìn)制文件,只允許按二進(jìn)制方式進(jìn)行讀操作。兩個(gè)反斜線“\\ ”中的第一個(gè)表示轉(zhuǎn)義字符,第二個(gè)表示根目錄。使用文件的方式共有12種,下面給出了它們的符號(hào)和意義。

文件使用方式 意 義

“rt” 只讀打開一個(gè)文本文件,只允許讀數(shù)據(jù)

“wt” 只寫打開或建立一個(gè)文本文件,只允許寫數(shù)據(jù)

“at” 希望在文件內(nèi)追加內(nèi)容,打開一個(gè)文本文件,并在文件末尾寫數(shù)據(jù)

“rb” 只讀打開一個(gè)二進(jìn)制文件,只允許讀數(shù)據(jù)

“wb” 只寫打開或建立一個(gè)二進(jìn)制文件,只允許寫數(shù)據(jù)

“ab” 追加打開一個(gè)二進(jìn)制文件,并在文件末尾寫數(shù)據(jù)

“rt+” 讀寫打開一個(gè)文本文件,允許讀和寫

“wt+” 讀寫打開或建立一個(gè)文本文件,允許讀寫

“at+” 讀寫打開一個(gè)文本文件,允許讀,或在文件末追加數(shù) 據(jù)

“rb+” 讀寫打開一個(gè)二進(jìn)制文件,允許讀和寫

“wb+” 讀寫打開或建立一個(gè)二進(jìn)制文件,允許讀和寫

“ab+” 讀寫打開一個(gè)二進(jìn)制文件,允許讀,或在文件末追加數(shù)據(jù)

C語言中open函數(shù)如何使用使用

C語言中open函數(shù)

作用:打開和創(chuàng)建文件。

簡(jiǎn)述:

1

2

3

4

#includefcntl.h

intopen(constchar*pathname,intflags);

intopen(constchar*pathname,intflags,mode_tmode);

返回值:成功則返回文件描述符,否則返回-1

對(duì)于open函數(shù)來說,第三個(gè)參數(shù)僅當(dāng)創(chuàng)建新文件時(shí)(即

使用了O_CREAT

時(shí))才使用,用于指定文件的訪問權(quán)限位(access

permission

bits)。pathname

是待打開/創(chuàng)建文件的POSIX路徑名(如/home/user/a.cpp);flags

用于指定文件的打開/創(chuàng)建模式,這個(gè)參數(shù)可由以下常量(定義于fcntl.h)通過邏輯位或邏輯構(gòu)成。

1

2

3

O_RDONLY只讀模式

O_WRONLY只寫模式

O_RDWR讀寫模式

打開/創(chuàng)建文件時(shí),至少得使用上述三個(gè)常量中的一個(gè)。以下常量是選用的:

1

2

3

4

5

6

O_APPEND每次寫操作都寫入文件的末尾

O_CREAT如果指定文件不存在,則創(chuàng)建這個(gè)文件

O_EXCL如果要?jiǎng)?chuàng)建的文件已存在,則返回-1,并且修改errno的值

O_TRUNC如果文件存在,并且以只寫/讀寫方式打開,則清空文件全部?jī)?nèi)容(即將其長(zhǎng)度截短為0)

O_NOCTTY如果路徑名指向終端設(shè)備,不要把這個(gè)設(shè)備用作控制終端。

O_NONBLOCK如果路徑名指向FIFO/塊文件/字符文件,則把文件的打開和后繼I/O

設(shè)置為非阻塞模式

1

(nonblockingmode)

以下三個(gè)常量同樣是選用的,它們用于同步輸入輸出

1

2

3

4

O_DSYNC等待物理I/O結(jié)束后再write。在不影響讀取新寫入的數(shù)據(jù)的

前提下,不等待

文件屬性

更新。

1

2

O_RSYNCread等待所有寫入同一區(qū)域的寫操作完成后再進(jìn)行

O_SYNC等待物理I/O結(jié)束后再write,包括更新文件屬性的I/O

open返回的文件描述符一定是最小的未被使用的描述符。

如果

NAME_MAX(文件名最大長(zhǎng)度,不包括'\0')是

14,而我們想在當(dāng)前目錄下創(chuàng)建文件名長(zhǎng)度超過

14

字節(jié)的文件,早期的

System

V

系統(tǒng)(如

SVR2)會(huì)截?cái)喑霾糠?,只保留?/p>

14

個(gè)字節(jié);而由

BSD

衍生的(BSD-derived)系統(tǒng)會(huì)返回錯(cuò)誤信息,并且把

errno

置為

ENAMETOOLONG。

POSIX.1

引入常量

_POSIX_NO_TRUNC

用于決定是否截?cái)嚅L(zhǎng)文件名/長(zhǎng)路徑名。如果_POSIX_NO_TRUNC

設(shè)定為禁止截?cái)?,并且路徑名長(zhǎng)度超過

PATH_MAX(包括

'\0'),或者組成路徑名的任意文件名長(zhǎng)度超過

NAME_MAX,則返回錯(cuò)誤信息,并且把

errno

置為

ENAMETOOLONG。

C語言open函數(shù)的使用例子

都已經(jīng)大二了,老師既然還教我們C語言的基礎(chǔ)open函數(shù)的使用,感到無力?。?!只能粵嵌牛逼

作業(yè)1:嘗試從文件中讀取某些字節(jié)? test.txt

作業(yè)2: test.txt,如果該文件存在則清空,不存在則創(chuàng)建,寫入"hello"

作業(yè)3: 完成copy.c的拷貝 例如: ./copy 1.txt 2.txt


文章標(biāo)題:c語言中運(yùn)行open函數(shù) c語言openfile
地址分享:http://weahome.cn/article/ddogiji.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部