是否有可能检查输入文件是否要通过控制台的stdin读取文本实际上是.txt文件?像这样:
if(argv[1] != "*.txt")
{
return 1;
}
这对我很有帮助! 谢谢!
答案 0 :(得分:1)
我猜你正在寻找类似“文件”命令的东西(这是在所有Mac OSX和Linux机器上),它查看文件的内容并告诉你它是什么类型的文件 - 比如“JPG” “图像,或二进制可执行程序,或者......在你的情况下是一些简单的ASCII文本。
以下是运行它的两个示例:
file /bin/bash
/bin/bash: Mach-O universal binary with 2 architectures
/bin/bash (for architecture x86_64): Mach-O 64-bit executable x86_64
/bin/bash (for architecture i386): Mach-O executable i386
file /etc/passwd
/etc/passwd: ASCII English text
要从C程序运行此程序,您可能会使用“system()”函数
system("file somefile| grep text")
然后检查“grep”是否返回零 - 表示它找到了“text”一词。
如果你在Windows上,运气不好!哎呀,我的意思是,如果你在Windows上,你将不得不研究Windows等价物。