① 重定向是什么
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);