使用LINUX dup2 複製檔案描述符到標準輸出STDOUT_FILENO
7
8 #include<stdio.h>
9 #include <sys/types.h>
10 #include <sys/stat.h>
11 #include <fcntl.h>
12 #include <stdlib.h>
13 #include <unistd.h>
14
15
16
17 int main(int argc,char *argv[])
18 {
19 int fd;
20 char ch;
21 setbuf(stdout, NULL);
22 if(argc<2)
23 {
24 printf("one file need!\n");
25 exit(0);
26 }
27 fd=open(argv[1],O_CREAT|O_RDWR,0777);
28 if(fd==-1)
29 {
30 perror("create error:");
31 }
32 dup2(fd,STDOUT_FILENO);
33 close(fd);
34 printf("testh is test");
35 }
dup2(fd,STDOUT_FILENO); 這一行 代表我們將STDOUT_FILENO 也就是檔案描述符1 複製為我們新建的檔案的檔案描述符
這種情況下我們PRINTF就不能輸入資訊到螢幕上了,而是寫入到檔案
8 #include<stdio.h>
9 #include <sys/types.h>
10 #include <sys/stat.h>
11 #include <fcntl.h>
12 #include <stdlib.h>
13 #include <unistd.h>
14
15
16
17 int main(int argc,char *argv[])
18 {
19 int fd;
20 char ch;
21 setbuf(stdout, NULL);
22 if(argc<2)
23 {
24 printf("one file need!\n");
25 exit(0);
26 }
27 fd=open(argv[1],O_CREAT|O_RDWR,0777);
28 if(fd==-1)
29 {
30 perror("create error:");
31 }
32 dup2(fd,STDOUT_FILENO);
33 close(fd);
34 printf("testh is test");
35 }
dup2(fd,STDOUT_FILENO); 這一行 代表我們將STDOUT_FILENO 也就是檔案描述符1 複製為我們新建的檔案的檔案描述符
這種情況下我們PRINTF就不能輸入資訊到螢幕上了,而是寫入到檔案
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/7728585/viewspace-1990809/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 【C++】標準檔案的輸入輸出!!!C++
- 物聯網學習教程Linux系統程式設計之檔案描述符的複製:dup()和dup2()Linux程式設計
- matlab輸出複數到檔案Matlab
- dup函式:複製檔案描述符函式
- Linux的標準輸入、標準輸出和標準錯誤Linux
- linux重定向標準錯誤與標準輸出到同一檔案Linux
- Linux基礎命令---echo列印內容到標準輸出Linux
- Linux--檔案描述符、檔案指標、索引節點Linux指標索引
- linux系統程式設計之檔案與IO(八):檔案描述符相關操作-dup,dup2,fcntlLinux程式設計
- linux複製檔案到另一個資料夾怎麼操作 linux複製檔案的命令介紹Linux
- Java —— 標準輸入輸出Java
- 使用shell tee 命令顯示及儲存標準輸出及標準錯誤輸出
- Linux檔案描述符Linux
- 第13周-閱讀專案1-標準輸入輸出物件及文字檔案物件
- python 標準輸入輸出Python
- PowerShell輸出內容到檔案
- Linux下檔案描述符Linux
- linux[批量複製並重新命名]和[批量複製檔案到多個資料夾]Linux
- linux自動清理Docker標準輸出日誌LinuxDocker
- 從ASM磁碟中複製檔案到本地檔案系統ASM
- Linux下輸出excel檔案LinuxExcel
- ABAP BAPI 複製標準專案模板實現專案立項API
- 接管子程式的標準輸入輸出
- 重定向子程式標準輸入輸出
- Shell標準輸出、標準錯誤 >/dev/null 2>&1devNull
- 檔案包含之包含了Linux檔案描述符Linux
- Linux循序漸進(20):標準輸入/輸出和重定向(轉)Linux
- Linux 中複製和移動檔案Linux
- 10G下從ASM複製檔案到檔案系統ASM
- 使用Oracle 10g複製檔案Oracle 10g
- nc複製檔案
- Linux基礎知識4:重定向、標準輸出和標準錯誤、man、tldrLinux
- Linux系統複製檔案/資料夾到遠端伺服器Linux伺服器
- Linux 檔案描述符和重定向Linux
- 如何批量複製多個檔案到多個目錄中(批量複製檔案,多對多檔案高效操作的方法)
- 標準的位元組輸出流 & 如何用它寫一篇日誌檔案
- Windows 複製 xcopy 檔案到另外一個 目錄Windows
- cp 快捷命令:複製檔案到多個目錄