視頻文件的差分和和並

一,文件差分

再時還是有一點問題就是差分的時候中視頻不好看這個問題我將在以後更新

/*************************************************************************
    > File Name:文件差分
    > Author: songli
    > QQ:2734030745
    > Mail: 15850774503@163.com
    > Created Time:
 ************************************************************************/
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include <sys/types.h>
#include <sys/stat.h>



int main(int argc, char *argv[])
{


    FILE *in = fopen("/home/chenli/FILE/chenli.avi", "rb");



    if (!in)
    {
        printf("can not open file \n");
        system("pause");
        return -1;
    }
    struct stat st;

    stat("/home/chenli/FILE/chenli.avi", &st);

    long file_length = st.st_size;

    printf("file length%d\n", file_length);

    char *buf = (char *)malloc(sizeof(char) * 1024 * 1024 * 10);
    char ch[29] = "/home/chenli/FILE/chen";

    char i = 'a';
    while (!feof(in))
    {
        ch[22] = '_';
        ch[23] = i;
        ch[24] = '.';
        ch[25] = 'a';
        ch[26] = 'v';
        ch[27] = 'i';
        ch[28] = '\0';
        FILE *out = fopen(ch, "wb");
        memset(buf, 0, sizeof(char) * 1024 * 1024 * 10);
        int len= fread(buf, sizeof(char), 1024 * 1024 * 10, in);
        fwrite(buf, sizeof(char), len, out);

        i++;
        fclose(out);
    }

    free(buf);
    buf == NULL;

    fclose(in);

    system("pause");
    return EXIT_SUCCESS;
}

二,和並

和並這裏沒有問題

/*************************************************************************
    > File Name: 和並
    > Author: songli
    > QQ:2734030745
    > Mail: 15850774503@163.com
    > Created Time:
 ************************************************************************/
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include <sys/stat.h>
#include <sys/types.h>


int main(int argc, char *argv[])
{
    FILE *file = fopen("/home/chenli/FILE/file.avi", "a+b");

    if (!file)
    {
        printf("file can not !");
        return -1;
    }

    char *buf = (char *)malloc(sizeof(char *) * 1024 * 1024 * 100);

    char ch[28] = "/home/chenli/FILE/chen";

    char i = 'a';
    while ( i == 'a' || i == 'b' || i == 'c' || i == 'd')
    {
        ch[22] = '_';
        ch[23] = i;
        ch[24] = '.';
        ch[25] = 'a';
        ch[26] = 'v';
        ch[27] = 'i';
        ch[28] = '\0';

        FILE *out = fopen(ch, "rb");

        if (!out)
            return - 1;
        memset(buf, 0, sizeof(char *) * 1024 * 1024 * 100);
        long length = fread(buf, sizeof(char *), 1024 * 1024 * 100, out);
        int chen = fseek(file, 0, SEEK_END);  //定位的文件的末尾
        printf("chen = %d\n", chen);
        long len = ftell(file);  //获取到当前文件的位置   查看文件的当前位置的信息
        printf("len = %d\n", len);

        fwrite(buf, sizeof(char *), length, file);
        fclose(out);
        i++;
    }

    free(buf);
    fclose(file);


    /*_kbhit();
    char ch;
    ch = _getch();
    printf("%c", ch);*/
    system("pause");
    return EXIT_SUCCESS;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值