bl双性强迫侵犯h_国产在线观看人成激情视频_蜜芽188_被诱拐的少孩全彩啪啪漫画

UC編程:輸入輸出重定向(系統調用)-創新互聯

在U

創新互聯建站是一家專注于成都網站制作、做網站與策劃設計,漳平網站建設哪家好?創新互聯建站做網站,專注于網站建設10余年,網設計領域的專業建站公司;建站業務涵蓋:漳平等地區。漳平做網站價格咨詢:13518219792nix下,系統重定向是使用dup和dup2函數完成的 在學習使用這兩個函數之前,必須要搞懂一個概念就是文件描述符
摘自:《文件描述符和文件指針的區別》 文件描述符就是open文件時產生的一個整數,直到一個索引作用,它用于UNIX系統中,用于標識文件。 文件指針是指向一個FILE的結構體,這個結構體里有一個元素就是文件描述符。它用于ANSI C標準的IO庫調用中,用于標識文件。 既然FILE中包含文件描述符元素,可以用fopen()直接獲取指針fp,然后使用fp獲得fp中所包含文件描述符fd的信息。 文件描述符應該是唯一的,但文件指針(值)卻不是唯一的,但指向的對象卻應該是唯一的。 FILE *中除了包含了fd信息,還包含了IO緩沖,所以可以理解為FILE是對fd的墻頭,是C標準形式,所以FILE *比fd更適合跨平臺,應該多用fopen在,少用open。 C語言文件指針與文件描述符之間可以相互轉換: int fileno(FILE *stream); FILE *fdopen(int fd, const char *mode);
來看一下下圖的實現過程 簡單明了,不解釋過多。再來看一下程序: 結合上圖理解一下過程。 [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”的文件描述符 再有就是當改變輸出方向后,不僅僅write函數,使用printf函數結果也都是一樣的......haha

分享題目:UC編程:輸入輸出重定向(系統調用)-創新互聯
本文來源:http://vcdvsql.cn/article28/jjecp.html

成都網站建設公司_創新互聯,為您提供搜索引擎優化、企業建站定制開發建站公司靜態網站、網站收錄

廣告

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

手機網站建設