读书人

关于文件(求帮忙),该如何解决

发布时间: 2012-04-04 16:38:51 作者: rapoo

关于文件(求帮忙)

我同时打开两个文件,一个读,一个写,而且我现在知道读的这个文件比如说有100个字符,然后往那个写的文件里面写,不能写全,只能写一部分,经过调试,发现是读的文件没读完。求解。。。可能是什么问题???




[解决办法]
可能是申请的空间小了,缓冲不够了?
[解决办法]
缓冲空间小了
[解决办法]
你说的没读全,是没读到文件结尾吗?如果读到文件结尾返回EOF,你能贴出部分代码吗?
[解决办法]
不要相信自己的判断,通过文件指针偏移就可以知道你实际读的文件大小

C/C++ code
/******************************************************************************************************Ãû³Æ:int LocalFile()**¹¦ÄÜ:¶ÁÈ¡±¾µØÎļþ£¬×ª»»³É×Ö·û´®* Èë¿Ú:ÐèÒª±£´æµÄ¶ÁÈ¡ÎļþÄÚÈݵÄÊý×é* ³ö¿Ú:ÎÞ**auth:linchudong, date: 2011-11-8 8:55*****************************************************************************************************/int LocalFile(char *sendbuffer,char *dev){    int mode;    FILE *sendfile;    int file_len;    if((sendfile = fopen(dev,"a+")) == NULL)    {        DBG_ERROR("open testfile false!\n");        mode = FALE;    }    /*Calculate file length*/    fseek(sendfile, 0L, SEEK_SET);     fseek(sendfile, 0L, SEEK_END);     file_len = ftell(sendfile);    fseek(sendfile, 0L, SEEK_SET);     DBG_NORMAL("file_len = %d\n",file_len);    /*Read content from file*/    if(file_len != fread(sendbuffer,1,file_len,sendfile))    {        DBG_ERROR("fread error\n");        mode = FALE;    }    else    {        mode = SUCC;        }        fclose(sendfile);    return mode;}/******************************************************************************************************Ãû³Æ:int ReceiveFile()**¹¦ÄÜ:½ÓÊÕ·¢Ë͵ÄÄÚÈÝ£¬×ª»»³ÉÎļþ* Èë¿Ú:ÎÞ* ³ö¿Ú:ÎÞ**auth:linchudong, date: 2011-11-8 8:55*****************************************************************************************************/int ReceiveFile(char *receivebuffer,char *dev){    int mode;    FILE *receivefile;    int file_len;    if((receivefile = fopen(dev,"w+")) == NULL)    {        DBG_ERROR("open testfile false!\n");        mode = FALE;    }        file_len = strlen(receivebuffer);    DBG_NORMAL("file_len = %d\n",file_len);    /*Write content from file*/    if(file_len != fwrite(receivebuffer,1,file_len,receivefile))    {        DBG_ERROR("fwrite error\n");        mode = FALE;    }    else    {        mode = SUCC;        }    fclose(receivefile);    return mode;} 

读书人网 >C语言

热点推荐