在對乙個檔案或者裝置進行讀寫之前,都需要先開啟,以獲得該檔案或者裝置的操作指標,也就是檔案描述符。有了檔案描述符,後續就可以進行讀取,修改操作了。
標頭檔案函式宣告
int open(const char *pathname, int flags, mode_t mode);
返回值成功:返回檔案描述符;失敗:-1
標頭檔案函式宣告
int close(int fd);
返回值成功:0;失敗:-1
標頭檔案函式宣告
size_t read(int fd, void *buf, size_t count);
返回值成功:返回讀取的字元數,0表示讀取到檔案結束位置;失敗:-1
標頭檔案函式宣告
size_t read(int fd, void *buf, size_t count);
返回值成功:返回讀取的字元數,0表示讀取到檔案結束位置;失敗:-1
標頭檔案函式宣告
size_t write(int fd, void *buf, size_t count);
返回值成功:返回寫入的字元數;失敗:-1
#include
#include
#include
#include
#include
using
namespace
std;
#define buf_size 1024
#define max_file_len 256
int main(int argc, const
char * argv) ;
if (argc < 2)
//開啟原始檔
int in_fd = open(argv[1], o_rdonly, 0777);
if (-1 == in_fd)
//開啟目標檔案
char destfile[max_file_len] = ;
snprintf(destfile, max_file_len, "%s_bak.txt", argv[1]);
printf("write to file %s\n", destfile);
int out_fd = open(argv[1], o_wronly|o_creat, 0777);
if (-1 == out_fd)
//讀原始檔
size_t rd_num;
while((rd_num = read(in_fd, buffer, buf_size)) > 0)
buffer[rd_num] = '\0';
printf("%s", buffer);
}//關閉檔案
close(in_fd);
close(out_fd);
return
0;}
檔案操作IO
dup oldfd 和dup2 oldfd,newfd 這兩個函式我們可以用來複製檔案描述符。1 其中oldfd和newfd分別是複製前檔案描述符和複製後的檔案描述符。2 這兩個函式的呼叫都將複製檔案描述符oldfd,且他們的返回值都為新的檔案描述符。3 不同點是dup 的返回值是最小的未用檔案描述...
IO操作 檔案IO
一 系統呼叫 系統呼叫實際上是作業系統 核心 提供的供使用者使用的介面函式。二 標準io函式和檔案io函式的關係 標準io是c庫內定義的函式,是凌駕於系統之上的,適用於任何的作業系統 檔案io是由linux系統提供的,只能在linux系統中使用,而不可以在其它作業系統中使用。標準io函式可以呼叫檔案...
檔案IO操作讀寫檔案
寫操作對應的有 put write等。寫操作的型別 ascii碼型別的可知字串 put put只能寫入一兩個字元,多了寫不了 include using namespace std intmain int args,char ar 二進位制型別寫檔案 write include using name...