根据C程序的参数read-log
读取CSV文件例子$ ./read-log file1.csv
$ ./read-log file1.csv file2.csv nofile.csv
但我也需要我的程序读取文件时,使用unix命令cat
,但当我输入:
$ cat file1.csv |./read-log
程序没有得到任何参数
只使用默认打开的FILE *stdin
:
FILE *fp;
if (argc > 1) {
if (strcmp(argv[1], "-") == 0) // Many utilities accept "-" for the
fp = stdin; // filename to indicate stdin
else
fp = fopen(argv[1], "r");
}
else {
fp = stdin;
}
当你完成使用文件,确保你只关闭它,如果你真的打开它:(关闭stdin
可能导致一些有趣的错误的道路!)
if (fp != stdin)
fclose(fp);