问我如何判断标准输入或输出是否被重定向(即在调用命令行中是否使用了“<'' 或 ``>”?
答你无法直接判断,但通常可以查看其他一些内容来做出你需要的任何决定。如果你想让程序在没有提供任何输入文件时从stdin读取输入,如果argv没有提及任何输入文件(参见问题 20.3),或者如果提供了诸如“-”之类的占位符而不是文件名,你就可以这样做。如果你想在输入不是来自交互式终端时抑制提示,在某些系统(例如 Unix,通常还有 MS-DOS)上,你可以使用isatty(0)或isatty(fileno(stdin))来做出判断。