久久久精品一区ed2k-女人被男人叉到高潮的视频-中文字幕乱码一区久久麻豆樱花-俄罗斯熟妇真实视频

UC編程:輸入輸出重定向(系統(tǒng)調(diào)用)-創(chuàng)新互聯(lián)

在U

創(chuàng)新互聯(lián)建站是一家專注于成都網(wǎng)站制作、做網(wǎng)站與策劃設(shè)計(jì),漳平網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)建站做網(wǎng)站,專注于網(wǎng)站建設(shè)10余年,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:漳平等地區(qū)。漳平做網(wǎng)站價格咨詢:13518219792nix下,系統(tǒng)重定向是使用dup和dup2函數(shù)完成的 在學(xué)習(xí)使用這兩個函數(shù)之前,必須要搞懂一個概念就是文件描述符
摘自:《文件描述符和文件指針的區(qū)別》 文件描述符就是open文件時產(chǎn)生的一個整數(shù),直到一個索引作用,它用于UNIX系統(tǒng)中,用于標(biāo)識文件。 文件指針是指向一個FILE的結(jié)構(gòu)體,這個結(jié)構(gòu)體里有一個元素就是文件描述符。它用于ANSI C標(biāo)準(zhǔn)的IO庫調(diào)用中,用于標(biāo)識文件。 既然FILE中包含文件描述符元素,可以用fopen()直接獲取指針fp,然后使用fp獲得fp中所包含文件描述符fd的信息。 文件描述符應(yīng)該是唯一的,但文件指針(值)卻不是唯一的,但指向的對象卻應(yīng)該是唯一的。 FILE *中除了包含了fd信息,還包含了IO緩沖,所以可以理解為FILE是對fd的墻頭,是C標(biāo)準(zhǔn)形式,所以FILE *比fd更適合跨平臺,應(yīng)該多用fopen在,少用open。 C語言文件指針與文件描述符之間可以相互轉(zhuǎn)換: int fileno(FILE *stream); FILE *fdopen(int fd, const char *mode);
來看一下下圖的實(shí)現(xiàn)過程 簡單明了,不解釋過多。再來看一下程序: 結(jié)合上圖理解一下過程。 [c] #include <unistd.h> #include <sys/stat.h> #include <fcntl.h> #include <stdio.h> #include <stdlib.h> #include <string.h> int main(void) { int fd, save_fd; char msg[] = "This is a test "; fd = open("somefile", O_RDWR|O_CREAT, S_IRUSR|S_IWUSR); if(fd<0) { perror("open"); exit(1); } save_fd = dup(STDOUT_FILENO); dup2(fd, STDOUT_FILENO); close(fd); write(STDOUT_FILENO, msg, strlen(msg)); dup2(save_fd, STDOUT_FILENO); write(STDOUT_FILENO, msg, strlen(msg)); close(save_fd); return 0; } [/c] 上面的程序按照流程圖就很容易理解了,再多說兩句就是STDOUT_FILENO也就是“1”的文件描述符 再有就是當(dāng)改變輸出方向后,不僅僅write函數(shù),使用printf函數(shù)結(jié)果也都是一樣的......haha

分享題目:UC編程:輸入輸出重定向(系統(tǒng)調(diào)用)-創(chuàng)新互聯(lián)
本文來源:http://sd-ha.com/article28/jjecp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供搜索引擎優(yōu)化、企業(yè)建站、定制開發(fā)、建站公司、靜態(tài)網(wǎng)站網(wǎng)站收錄

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

手機(jī)網(wǎng)站建設(shè)