首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

关于LINUX C编程上的read write函数,你懂吗?该如何解决

2012-04-17 
关于LINUX C编程上的read write函数,你懂吗?本人在编写一个很简单的程序,就是把一个mp3文件,也就是二进制

关于LINUX C编程上的read write函数,你懂吗?
本人在编写一个很简单的程序,就是把一个mp3文件,也就是二进制文件复制给另一个时,只复制了200多k而已,而且打不开,而原来的文件有4M多,我用的是read write函数,我知道用fread和fwrite方便,不过我想试一下用更加底层的read write函数,求大神说明一下为什么会出现复制不完整?
这是我的代码:

C/C++ code
#include <stdio.h>#include <stdlib.h>#include <fcntl.h>#include <sys/stat.h>#define SIZE 100char buf[SIZE];int main(){    int src=open("in.mp3",O_RDONLY);    if(src<0)    {        perror("open src");        exit(1);    }    int des=open("out.mp3",O_WRONLY|O_CREAT,S_IRWXU);    if(des<0)    {        perror("open des");        exit(1);    }    int count;    while((count=read(src,buf,sizeof(buf)))>0)    {        if(write(des,buf,count)<count)        {        perror("write error\n");        close(src);        close(des);        exit(1);        }    }    close(src);    close(des);}


[解决办法]
探讨

引用:

因为c库里面包含了这两个函数


拜托先去查一查C99,看有没有包含这两个函数?是fread汗fwrite吧?

热点排行