突然发现这个程序在执行的时候不是./minimad music.mp3这样执行
而是 ./minimad <music.mp3这样执行,而且在这个时候提示argc这个参数为1,并且这个时候
if (fstat(STDIN_FILENO, &stat) == -1 ||
stat.st_size == 0)
return 2;
这一句也不再返回了。
看来是<这个符号的问题了。
在网上找到说’<‘为 重定向输入符号
用法:命令 <filename
结果:stdin被文件"filename"所代替.
作用:从当前开始, 后边的输入就都来自于“filename”文件了, 而不是标准输入了(通常都是键盘输入). 这样就提供了一种按行读取文件的方法, 并且可以使用sed 和/或 awk来对每一行进行分析.
linux太复杂了,不读这段程序到死也不知道还有这个东西。