C - 如何检查用户是否发送了文本文件stdin
问题描述:
我目前正在研究我的学校项目,并想知道是否有任何方法可以告诉用户是否已将<textfile.txt
写入终端。C - 如何检查用户是否发送了文本文件stdin
像这样:./project <textfile.txt
我的项目读取所有从文本文件stdin
并通过scanf
作品与他们的线。但是当我不使用<textfile.txt
“东西”时,它开始时没有数据。相反,我希望它写一个错误并停止该程序。
非常感谢。
答
在UNIX系统上,您可以检查是否stdin
指向一个终端:
if (isatty(0)) {
fprintf(stderr, "input was not redirected\n");
exit(EXIT_FAILURE);
}
出于某种原因,并没有表现出与部分“
Isha
@Isha因为这看起来像一个HTML标签。 – melpomene
你能不能破坏格式? – melpomene