标题:重定向问题
只看楼主
hexianqi1994
Rank: 1
等 级:新手上路
帖 子:50
专家分:0
注 册:2011-8-3
结帖率:86.96%
已结贴  问题点数:10 回复次数:8 
重定向问题
重定向究竟要怎么做呀,是在cmd命令下吗,还是在编译窗口,讲一下具体步骤,最好举个例子,谢啦~
搜索更多相关主题的帖子: 具体步骤 定向 最好 
2011-08-16 20:16
lz1091914999
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:四川
等 级:贵宾
威 望:37
帖 子:2011
专家分:5959
注 册:2010-11-1
得分:0 
用freopen就行了。

My life is brilliant
2011-08-16 20:19
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
得分:10 
重定向是在Cmd窗口中做的,使用管道操作符>或<,还有一个是|。所以现在还规定这些字符不能作文件名。这是运行中的重定向,不是编程中的重定向。比如,你在Cmd窗口输入如下命令:
dir > test<Enter>
然后就会看到当前目录下生成一个叫test的文件,里面就是你平时dir看到的内容。

授人以渔,不授人以鱼。
2011-08-16 20:29
lz1091914999
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:四川
等 级:贵宾
威 望:37
帖 子:2011
专家分:5959
注 册:2010-11-1
得分:0 
回复 3楼 TonyDeng
C Primer Plus里说过这个方法,但我一直没用过,觉得还是自己写更好。

My life is brilliant
2011-08-16 20:36
lz1091914999
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:四川
等 级:贵宾
威 望:37
帖 子:2011
专家分:5959
注 册:2010-11-1
得分:0 
回复 3楼 TonyDeng
C Primer Plus里说过这个方法,但我一直没用过,觉得还是自己写更好,不太喜欢用shell。

My life is brilliant
2011-08-16 20:40
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
得分:0 
这个方法不是让程序员事先写好的,是为了临时改变输出用的。比如平时都输出到屏幕上,但偶然要把现在的输出打印出来,就用这种办法,无需改写程序。有些大批量键盘录入数据的程序,也可以用这个方法,事先在文本文件上写好数据,然后重定向输入到程序中,这是当时有的程序没考虑用文件输入时采取的办法,因为不是现在打个电话叫程序员改好再QQ传送过来那么方便的时代。何况这是操作系统在不修改程序的前提下第三方实现的功能,与程序员无关,因此,换句话说,这种功能会导致程序员刻意考虑防止,让使用者无法重定向。

[ 本帖最后由 TonyDeng 于 2011-8-16 20:51 编辑 ]

授人以渔,不授人以鱼。
2011-08-16 20:47
lz1091914999
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:四川
等 级:贵宾
威 望:37
帖 子:2011
专家分:5959
注 册:2010-11-1
得分:0 
回复 6楼 TonyDeng
哦,还有这种好处啊,学习啦。。

My life is brilliant
2011-08-16 20:57
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
得分:0 
一个原则是,使用流设备的函数,就是可以重定向的。如果你不希望自己的程序数据被重定向(这是泄密的一种途径),可以不用流输入输出函数。在TC的库函数中,特别是conio.h中的那一批,带c头的,如cprintf()、csacanf()之类,都不可以被重定向,因为那些函数是直接对屏幕和键盘读写的,所以速度非常快,用TC写程序的优势是使用这批独特的库函数,那个graphics.h中的图形库,更是独一无二的。TC就靠这些东西占据市场。

授人以渔,不授人以鱼。
2011-08-16 21:02
pangding
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:北京
等 级:贵宾
威 望:94
帖 子:6784
专家分:16751
注 册:2008-12-20
得分:0 
嗯。使用输入输出重定向是一个很古老的传统。在 unix 的哲学思想里占有重要的地位。是个系统级的方法,而不是程序级的。
它使得一类被称作过滤器(通加工标准输入得到标准输出)的工具可以以更灵活的方式发挥作用。和管道一起,对 unix 下的各种自动化和脚本化都很有意义。
在 windows 下,这个概念应用的不是很广泛。
2011-08-16 21:21



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-347749-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.163920 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved