我写的程序的意思就是说,后面的那个 >tmp.txt 是系统识别出来的。在你的程序启动之前已经发挥了作用,即已经把 stdout 重定向到 tmp.txt 了。所以没有多参数。
你从命令行启动时乱加点别的,不是这效果(加什么都行,不影响你的程序)。命令行没认出来的,都当参数传给你的程序了。、
那个 tmp.txt 就在你这个项目所在的文件夹里。
根據你的输出就应该在 D:\VC++\ 下。你去看一看,应该能找着。
如果一开始不太理解文件就算了,因为它的行为确实有点奇怪。
拿命令行来解释文件的效果也有点不合适,因为其实这两者没什么关系。只不过命令行提供了一种語法来重定向文件。不过这没什么,一个打开的文件也可以自己处理它们。
你试试这样行不行:
你从命令行启动时乱加点别的,不是这效果(加什么都行,不影响你的程序)。命令行没认出来的,都当参数传给你的程序了。、
那个 tmp.txt 就在你这个项目所在的文件夹里。
根據你的输出就应该在 D:\VC++\ 下。你去看一看,应该能找着。
如果一开始不太理解文件就算了,因为它的行为确实有点奇怪。
拿命令行来解释文件的效果也有点不合适,因为其实这两者没什么关系。只不过命令行提供了一种語法来重定向文件。不过这没什么,一个打开的文件也可以自己处理它们。
你试试这样行不行:
程序代码:
#include <stdio.h> int main(int argc, char *argv[]) { fclose(stdout); stdout = fopen("tmp.txt", "w"); if (stdout == 0) perror("stdout"); fputs("test!!\n", stdout); return 0; }