read 函式
#include
ssize_t read
(int fd,
void
*buf, size_t count)
;
read 函式中fd 是檔案標誌符,是open函式的返回值,第二個是無整型數的位址,第三個是讀取的個數。
write函式
#include
ssize_t write
(int fd,
const
void
*buf, size_t count)
;
write 函式中fd 是檔案標誌符,是open函式的返回值,第二個是無整型數的位址,第三個是寫入的個數。
1 #include
2 #include
3 #include
4 #include
5 #include
6 #include
7int
main()
8;12 fd =
open
("./file1"
,o_rdwr);13
if(fd ==-1
)17printf
("file creat\n");
18printf
("fd = %d\n"
,fd);19
20int n_write =
write
(fd,buf,
strlen
(buf));
21printf
("n_write = %d"
,n_write);22
close
(fd)
;23 fd =
open
("./file1"
,o_rdwr|o_creat,
0600);
24int n_read =
read
(fd,readbuf,n_write);25
printf
("n_read = %d,readbuf:%s\n"
,n_read,readbuf);26
close
(fd);27
return0;
28}~~
~
在21行和22行中關閉和再次開啟檔案的操作是因為寫入完以後,游標已經在檔案末尾了,關閉和開啟 可以讓游標在前面,好讓讀取的操作進行,沒有這個操作,將讀不到任何東西,但是這個操作有點傻。後面會使用游標移動,直接將游標移到前面,更加快捷。
lseek函式的標頭檔案,以及引數
#include
#include
off_t lseek
(int fd, off_t offset,
int whence)
;
引數:
fd 表示要操作的檔案描述符
offset是相對於whence(基準)的偏移量
whence 可以是seek_set(檔案指標開始),seek_cur(檔案指標當前位置) ,seek_end為檔案指標尾。基於我們上一部分的游標移動,我們就可以將游標移動到開頭,就不用關閉和重新開啟檔案。
1 #include
2 #include
3 #include
4 #include
5 #include
6 #include
7int
main()
8;12 fd =
open
("./file1"
,o_rdwr);13
if(fd ==-1
)17printf
("file creat\n");
18printf
("fd = %d\n"
,fd);19
20int n_write =
write
(fd,buf,
strlen
(buf));
21printf
("n_write = %d"
,n_write);22
//off_t lseek(int fd, off_t offset, int whence);
23int n_lseek =
lseek
(fd,0,
seek_set);
24int n_read =
read
(fd,readbuf,n_write);25
printf
("n_read = %d,readbuf:%s\n"
,n_read,readbuf);26
close
(fd);27
return0;
28}~
將
close
(fd)
; fd =
open
("./file1"
,o_rdwr|o_creat,
0600
);
這兩行**替換成
int n_lseek =
lseek
(fd,0,
seek_set
);
就能達到游標到檔案面前的目的。
完畢
檔案讀取和寫入
open 返回乙個檔案物件,open filename,mode f open workfile w 第乙個引數是包含檔名的字串,第二個引數可以是包含一些字元的字串 r 僅讀取檔案,w 僅寫入檔案,a 開啟檔案以進行新增的模式 r 開啟檔案進行讀取和寫入,模式引數是可選的。r 如果省略,將被假定。b...
檔案寫入和讀取
最近在提高自己程式設計能力,拿一些現實的小指令碼練下。該指令碼為python語言,主要涉及模組os。功能 將控制台輸入文字逐行儲存,和讀取。輸入逐行儲存 import os filename input please enter file name file open filename,w whil...
讀取和寫入plist檔案
plist檔案是標準的xml檔案,在cocoa中可以很簡單地使用。這裡介紹一下使用方法 以下 在mac和iphone中均適用。寫入plist檔案 nsmutabledictionary dict nsmutabledictionary alloc initwithcontentsoffile sam...