查看積分策略說明發表回覆
Discuz! 代碼
提示插入
直接插入
說明訊息

插入粗體文本 插入斜體文本 插入下劃線 置中對齊 插入超級連結 插入信件位址 插入圖像 插入 flash 插入代碼 插入引言 插入列表
刪除線 直線分隔線 虛線分隔線
    
添加文字底框
內容 [字數檢查]:

表情符號

更多 Smilies
字型大小 |||
溫馨提示:本區開放遊客瀏覽。


文章關鍵字 : [功能說明]
(關鍵字可加強搜索準確性, 如關鍵字多於一組, 請以 , 作分隔, e.g. : 阿笨,shiuh,第一笨)

 關閉 URL 識別 | html 禁用
 關閉 表情符號 | 表情符號 可用
 關閉 Discuz! 代碼 | Discuz! 代碼 可用
使用個人簽名
接收新回覆信件通知
推薦放檔網絡空間

檔案(Torent, zip等)
  1. freedl
  2. multiupload
  3. btghost
  4. 便當狗
  5. mediafire
  6. pillowangel
圖片(JPG, GIF等)
  1. hotimg
  2. tinypic
  3. mousems2
  4. imageshack
  5. imm.io
>>>歡迎推薦好用空間


最新10篇文章回顧
TC-E

 發表於 2007-3-28 12:16 PM

感謝,你的資訊可以解決我的問題唷!


引用:

#include <stdio.h>
#include <unistd.h>
int main()
{
  FILE *fp;
  int ret;
  int id,fd;
  fp=fopen("/home/user/00.txt","w");
  id = dup(STDOUT_FILENO);
  fd=fileno(fp);
  dup2(fd, STDOUT_FILENO);
  ret = execl ("/bin/ls", "ls", "-1", (char *)0);
  dup2(id, STDOUT_FILENO);
  fclose(fp);
  return 0;
}


aleck

 發表於 2007-3-22 10:58 PM

參考一下:

先 open 一個 file:
int fd = open("out.txt", O_RDWR|O_CREAT, 0666);

再將標準輸出 dup2 導向 fd:
dup2(fd, 1);

再執行 execl:
execl ("/bin/ls", "ls", "-1", (char *)0);

最後 close fd.
close(fd);

完成.


TC-E

 發表於 2007-3-22 01:10 PM

是這的,我想要用C++撰寫一段整合一些工具的程式
希望可以在Linux下執行,我找到了相關的函式execl
不過現在有個問題,就是原本在shell下可以用ls>>out.txt
的方式來將輸出資料導向文字檔內,但是execl我怎麼試
都無法做到這一點,其實我是希望利用execl呼叫我要的工具
並將其output寫入檔案以方便處理,不知道有哪位高手對此
比較有研究的,可以提供一些幫忙!


引用:

#include <unistd.h>
int main()
{
  int ret;
  ret = execl ("/bin/ls", "ls", "-1", (char *)0);
  return 0;
}





所在時區為 GMT+8, 現在時間是 2024-5-5 01:59 AM
清除 Cookies - 連絡我們 - TWed2k © 2001-2046 - 純文字版 - 說明
Discuz! 0.1 | Processed in 0.018912 second(s), 7 queries , Qzip disabled