rust 判断是否为压缩文件

2024-03-02  本文已影响0人  球果假水晶蓝
bool  GzipTrue( string filepath )
{
    FILE   *infile;
    unsigned char buf[3] ={'\0'};
    infile = fopen(filepath.c_str(), "rb");
    int rc = fread(buf,sizeof(unsigned char), 2,infile);
    fclose(infile);
    if  (buf[0] == 31 &&  buf[1] == 139)
    {
        return true ;
    }
    else
    {
        return false ;
    }
}

C++ 代码,不需要看后缀,就能判断是否为压缩文件。
写一个对应的rust版本的函数

use std::fs::File;
use std::io::{self, Read};

fn gzip_true(filepath: &str) -> io::Result<bool> {
    let mut infile = File::open(filepath)?;
    let mut buf = [0u8; 2];
    infile.read_exact(&mut buf)?;

    Ok(buf[0] == 31 && buf[1] == 139)
}

上一篇下一篇

猜你喜欢

热点阅读