如果文件是文本文件,有没有办法检查Linux C,例如UTF还是ASCII?在bash中我们有函数file
。 C中有任何等价物吗?
编辑:这是我在C中验证文本文件的功能。我使用popen
,但它不能正常工作。有时我在pclose
中有错误。在代码中需要编辑什么?
int check_file(char *path)
{
FILE *file_type;
char command[] = "/usr/bin/file";
char command_to_execute[512];
char check[512];
int correct = 0;
sprintf(command_to_execute,"%s %s",command,path);
file_type = popen(command_to_execute,"r");
if(file_type == NULL)
{
return correct;
}
fgets(check,512,file_type);
char *pointer;
pointer = strstr(check,"ASCII");
if(pointer != NULL)
correct = 1;
pointer = strstr(check,"UTF");
if(pointer != NULL)
correct = 1;
pclose(file_type);
return correct;
}