可以编写一个识别文件是否被传递的代码,如下所示:
program.out < file.dat
我为此搜索答案,因为我想编写代码来执行以下操作:
int main (int argc, char *argv[])
{
char filename[50];
if ( argc > 1 )
{
strcpy (filename, argv[1]);
}
else if ( SOMETHING )
{
/* copy the stdin into fin (?) */
}
FILE *fin;
fin = fopen (filename, "r");
/* ... */
fclose(fin);
}
return 0;
}
其中SOMETHING
,如果文件是用 传递的<
,则计算为 1,否则计算为 0。
如果可能的话,我正在寻找一个在标准 C 中工作的解决方案。