Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/meteor/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
排除C中txt文件以外的文件类型_C - Fatal编程技术网

排除C中txt文件以外的文件类型

排除C中txt文件以外的文件类型,c,C,大家好,新年快乐 我必须接受C程序中的juste txt文件 我不知道怎么做。。有什么想法吗 我也不知道文本文件是否包含标题或是它的特征 PS:我正在使用Ubuntu,所以看不到文件扩展名 谢谢你在Linux环境中,我个人会选择libmagic,它是实用程序文件的核心。此库的目的正是要完成您想要完成的任务:根据文件内容确定文件的类型 示例用法如下所示 /* identify.c */ #define _POSIX_SOURCE /* required for fileno() */ #inc

大家好,新年快乐

我必须接受C程序中的juste txt文件

我不知道怎么做。。有什么想法吗

我也不知道文本文件是否包含标题或是它的特征

PS:我正在使用Ubuntu,所以看不到文件扩展名


谢谢你

在Linux环境中,我个人会选择
libmagic
,它是实用程序
文件
的核心。此库的目的正是要完成您想要完成的任务:根据文件内容确定文件的类型

示例用法如下所示

/* identify.c */

#define _POSIX_SOURCE /* required for fileno() */

#include <magic.h>
#include <stdlib.h>
#include <stdio.h>

int main(void) {
    const char *description;
    magic_t cookie;
    FILE *fp;

    fp = fopen("example.txt", "r");

    if(fp == NULL) {
        fprintf(stderr, "error: cannot open file\n");
        exit(EXIT_FAILURE);
    }

    cookie = magic_open(MAGIC_NONE);

    if(cookie == NULL) {
        fprintf(stderr, "error: cannot initialize library\n");
        fclose(fp);
        exit(EXIT_FAILURE);
    }

    if( magic_load(cookie, NULL) != 0 ) {
        fprintf(stderr, "error: cannot load database : %s\n",
                                            magic_error(cookie));
        magic_close(cookie);
        fclose(fp);
        exit(EXIT_FAILURE);
    }

    description = magic_descriptor(cookie, fileno(fp));
    printf("%s\n", description);

    magic_close(cookie);
    fclose(fp);

    return EXIT_SUCCESS;
}
这个库可以以几种不同的方式使用,所以您可能应该看看。例如,您可以获得MIME类型,而不是上面的描述


您的计算机上可能已经安装了libmagic所属的
文件
包。但是,如果您使用的发行版(如CentOS的RHEL)将开发头拆分为一个单独的包,请确保已安装
file devel

请发布给您带来麻烦的代码。您能展示一些您已经尝试但无法使用的代码吗?为什么-10哈哈,我还没有一个代码,我刚刚用指针和fopen加载了一个文本文件,但我想丹尼任何其他类型的文件
UTF-8 Unicode text