① 重定向是什麼
freopen("data.in","r",stdin); 這個是輸入的重定向,stdin是標准輸入,一般是鍵盤,而這句把標准輸入改成了data.in這個文件,意思是原來從鍵盤讀取數據,而現在從這個文件中讀取數據
freopen("data.out","w",stdout); 輸出重定向,stdout是標准輸出,一般是指屏幕,而這句把標准輸出改成了Data.out這個文件,本來送到屏幕的信息,現在被保存到這個文件.#ifdef LOCAL 是如果定義了Local這個宏,就會進行重定向,當你不想重定向時,把上面的#define LOCAL注釋掉,重定向語句就不編譯了.這樣改起來很方便.
② 嵌入式系統開發中為何有重定向程序作用
在嵌入式系統實際應用中,往往嵌入式系統和主機調試環境是獨立的,而嵌入式系統又想使用標准輸入輸出中的庫函數,這時就要使用重定向技術。如果沒有重定向程序,嵌入式系統開發過程中需要做很多工作來進行庫的建立和使用。另一種是地址重定向,地址重定向是對編寫的程序中的絕對地址在編譯的時候進行重新定向,即將程序中的絕對地址映射為實際的物理地址,以實現程序的運行。
③ 我正在練習輸入重定向,然後我編寫了一個程序並且編譯了它,文件名是echo——eof,我存在
你在前後打上英文標點的雙引號試試?
"D:\Microsoft Visual Studio\Common\Debug\echo_eof.exe" < "D:\Microsoft Visual Studio\Common\Debug\input.txt"
④ C語言,重定向練習
你的這段代碼功能是:從鍵盤輸入字元,當輸入的字元不是結束符(CTRL+Z)時,將輸入的字元輸出到顯示器上。
你首先把你編寫的這段源程序保存到一個你自己指定的目錄下(例如:d:\my_program\my_output.c),然後對源程序進行編譯、鏈接,最後產生一個 可執行程序:my_output.exe。
最後進入命令提示符方式,進入到你的 d:\my_program 子目錄,找到 my_output.exe 這個文件,然後運行:my_output > my_textfile <cr>,其中:<cr> 代表回車鍵。
這時你盡管輸入任何的字元,然後再按 CTRL+Z(即:EOF),你再使用 type my_textfile ,即可看到輸出重定向功能了。
⑤ 想在C#中調用G++編譯器,想把編譯信息重定向輸出到文本
Process.StartInfo.FileName表示要執行的文件名稱。
Process.StartInfo.Arguments表示要輸入的參數。
有這兩個且正確可以保證正確的執行。
Process.StartInfo.RediredtStandardInput表示輸入重定向,表示的意思是輸入不再由Arguments給定,而是由用戶直接進行輸入。顯然如果你只想獲得到編結果信息的話,這里是不須要的,且在提供Arguments之後是不能要的。也就是說必須為false才可以。
要對輸出重定向,必須使用Process.StartInfo.RedirectOuput,該屬性表示輸出重定向。而錯誤重定向之類的則不必再進行定義,所以這里的錯誤就在於你沒事亂寫,起到了畫蛇添足的作用導致根本沒有就有執行。
所以去掉你的輸入重定義與錯誤重定 即可。其實CreateNoWindow也不必用的,不就是隱藏窗口么?使用WindowStyle即可。
⑥ C語言如何用dos命令編譯,如何將編譯和運行結果重定向到某個文件里
你需要設置cl和linker所在目錄的
環境變數
,例如我在win7下的路徑的是C:\Program
Files
(x86)\Microsoft
Visual
Studio
8\VC\bin
你按下面的步驟就可以設置了。有問題可以
網路HI
我:步驟如下:
1.首先,打開
配置環境變數
界面,如下操作:我的電腦---屬性---高級---環境變數
2.編輯PATH變數,在PATH變數的最後如果沒有分號,要增加一個分號,然後是你的cl和linker所在目錄的全路徑,後面記得要加分號,確定應該就可以了。
記得把cmd窗口重新打開一下。
另外,虛機團上產品團購,超級便宜
⑦ c語言重定向小白問題
在 Mac 上打開 Finder 窗口,然後在「應用程序」目錄中直接搜索「終端」關鍵字,也可以搜索到
在終端命令行里進入到桌面的目錄(通常不建議這么做,放到簡單的路徑下面);直接命令行運行
echo_eof < words.txt
⑧ 怎樣用c++重定向一個可執行文件(linux下)
僅僅用execl是不可能的。可以嘗試用system()函數。
execl的語法是*args是binary的輸入參數。redirection 「>" 和」<"不是binary的輸入參數,而是linux shell的功能。
要用p2與execl一起。這里提供一個網上別人的例子:www.unix.com/programming/53220-execl-redirecting-output-text-files.html
錯誤用法:
execl( "/bin/ls" , "-al" , '>' , "dirlist.txt" ,(char *) 0 );
和你的差不多。
別人建議正確代碼(我沒有試過):
#include <unistd.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
int main(int argc, char *argv)
{
int fd; /*file descriptor to the file we will redirect ls's output*/
if((fd = open("dirlist.txt", O_RDWR | O_CREAT))==-1){ /*open the file */
perror("open");
return 1;
}
p2(fd,STDOUT_FILENO); /* the file descriptor fd into standard output*/
p2(fd,STDERR_FILENO); /* same, for the standard error */
close(fd); /* close the file descriptor as we don't need it more */
/*execl ls */
execl( "/bin/ls" , "ls" , "-la" , (char *) 0 );
return 0;
}
⑨ C語言如何重定向輸入和輸出
兩種方法
1
命令行重定向
比如
編譯出a.exe
使用a.exe
<
in.txt
>
out.txt
其中<用於重定向輸入,
>用於重定向輸出
2
代碼方式
通過freopen函數
重定向stdin和stdout
比如
stdin
=
freopen("in.txt",
stdin);