-4
是否可以檢查輸入文件是否想通過控制檯的stdin讀取文本實際上是一個.txt文件?類似這樣的:測試輸入文件是否爲C中的.txt文件
if(argv[1] != "*.txt")
{
return 1;
}
這對我很有幫助! 謝謝!
是否可以檢查輸入文件是否想通過控制檯的stdin讀取文本實際上是一個.txt文件?類似這樣的:測試輸入文件是否爲C中的.txt文件
if(argv[1] != "*.txt")
{
return 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("file somefile| grep text")
,然後檢查「 grep「返回零 - 表示它找到了單詞」text「。
如果你在Windows上,運氣不錯!哎呀,我的意思是,如果你在Windows上,你將不得不研究一個Windows的等價物。
if(strstr(argv [1],「.txt」)== argv [1] + strlen(argv [1]) - 4)'',顯然經過了一些界限檢查? – 2013-12-08 12:54:44
或者if(strlen(argv [1])> 4 &&!(strcasecmp(argv [1] + strlen(argv [1]) - 4,「.txt」))'對於不區分大小寫的匹配。會告訴它*是否是一個文本文件,只有它有一個文件擴展名。 – usr2564301