实例253 文件分割 - C源码程序 - 谷速源码
下载频道> 资源分类> 编程语言> C源码> 实例253 文件分割

标题:实例253 文件分割
分享到:

所属分类: C源码 资源类型:程序源码 文件大小: 2.36 KB 上传时间: 2017-07-15 22:59:00 下载次数: 8 资源积分:1分 提 供 者: admin 实例253 文件分割
内容:
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
FILE *in,  *out; /*定义两个指向FILE类型结构体的指针变量*/
char filename[50], ch, cfilename[50];
void space() /* 分隔文件函数 */
{
    char ext[6][6] =
    {
        "a.txt", "b.txt", "c.txt", "d.txt", "e.txt", "f.txt"
    }; /* 分割出来的文件扩展名 */
    unsigned long int n = 1, k, byte = 0; /* 定义变量类型为无符号的长整形变量 */
    unsigned int j = 0, i = 0;
    printf("Please input filename:\n");
    scanf("%s", filename); /*输入文件所在路径及名称*/
    strcpy(cfilename, filename); /*输入文件所在路径及名称复制到cfilename中*/
    if ((in = fopen(filename, "r")) == NULL) /* 以只读方式打开输入文件 */
    {
        printf("Cannot open file\n");
        exit(0);
    }
    printf("Please input file size after space(kb):\n");
    scanf("%d", &n); /* 输入分割后单个文件的大小 */
    n = n * 1024;
    while (filename[j] != '.')
        j++;
    filename[j] = '\0'; /*遇'.'时,在该处加字符串结束符*/
    if ((out = fopen(strcat(filename, ext[i]), "w")) == NULL) /*生成分割后文件所在路径及名称*/
    {
        printf("Cannot open file\n");
        exit(0);
    }
    fseek(in, 0, 2); /*将位置指针移到文件末尾*/
    k = ftell(in); /* k存放当前位置,也就是整个文件的大小 */
    fseek(in, 0, 0);
    while (k > 0)
    {
        ch = fgetc(in);
        fputc(ch, out);
        byte++; /*字节数增加*/
        k--; /*大小减1*/
        if (byte == n) /*当为要求的大小时执行括号内语句*/
        {
            fclose(out); /*完成一个分割出的文件*/
            byte = 0; /*byte重新置0*/
            strcpy(filename, cfilename); /*filename恢复初始状态*/
            while (filename[j] != '.')
                j++;
            filename[j] = '\0'; /*遇'.'时,在该处加字符串结束符*/
            i++;
            if ((out = fopen(strcat(filename, ext[i]), "w")) == NULL)
/*生成分割后文件所在路径及名称*/
            {
                printf("Cannot open file\n");
                exit(0);
            }
        }
    }
    fclose(in); /* 关闭文件 */
    printf("File succeed space!\n\n\n");
}
main() /* 程序主函数 */
{
    printf(" now file space!\n");
    space();
}
 

文件列表(点击上边下载按钮,如果是垃圾文件请在下面评价差评或者投诉):

实例253 文件分割
实例253 文件分割\www.gusucode.com
实例253 文件分割\文件说明.txt
实例253 文件分割\www.gusucode.com.txt
实例253 文件分割\www.gusucode.com\253.c
实例253 文件分割\【谷速代码】-免费源码.url

关键词: 实例 文件

相关推荐

Top_arrow
回到顶部
联系方式| 版权声明| 招聘信息| 广告服务| 银行汇款| 法律顾问| 兼职技术| 付款方式| 关于我们|
网站客服网站客服 程序员兼职招聘 程序员兼职招聘
沪ICP备19040327号-3
公安备案号:沪公网安备 31011802003874号
库纳格流体控制系统(上海)有限公司 版权所有
Copyright © 1999-2014, GUSUCODE.COM, All Rights Reserved