码迷,mamicode.com
首页 > 其他好文 > 详细

从源文件中读入2048个字节到目标文件

时间:2017-02-26 12:01:49      阅读:132      评论:0      收藏:0      [点我收藏+]

标签:大小   限制   lib   buffer   close   sage   文件中   file_path   log   

该程序演示了fopen,fread,fwrite的基础用法。

/*
功能说明:
    从源文件中读入2048个字节到目标文件
代码说明:

实现方式:
    该程序演示了fopen,fread,fwrite的基础用法。
限制条件或者存在的问题:
    无
*/

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

#define BUFFER_SIZE 2048

int main(int argc, char ** argv)
{
    if (argc != 2)
    {
        printf("parameter error! usage:\n\t[%s file_path_name]\n", argv[0]);

        return -1;
    }

    FILE *fp_read = fopen(argv[1], "rb");
    if (!fp_read)
    {
        printf("open read file [%s] error!\n", argv[1]);

        return -2;
    }

    FILE *fp_write = fopen("file_name.dat", "wb");
    if (!fp_write)
    {
        printf("open write file [file_name.dat] error!\n");

        fclose(fp_read);

        return -3;
    }

    char buffer[BUFFER_SIZE + 1] = { 0 };
    if (fread(buffer, BUFFER_SIZE, 1, fp_read) != 1) // fread就是从文件指示符中读取指定大小的内容到内存中。它与fgets是不一样的。
    {
        printf("read file [%s] error!\n", argv[1]);

        fclose(fp_read);
        fclose(fp_write);

        return -4;
    }

    if (fwrite(buffer, BUFFER_SIZE, 1, fp_write) != 1)
    {
        printf("write file [file_name.dat] error!\n");

        fclose(fp_read);
        fclose(fp_write);

        return -5;
    }

    fclose(fp_read);
    fclose(fp_write);

    return 0;
}

这个代码可以复用到我现在的工作中。

从源文件中读入2048个字节到目标文件

标签:大小   限制   lib   buffer   close   sage   文件中   file_path   log   

原文地址:http://www.cnblogs.com/babyha/p/6443863.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!