易截截图软件、单文件、免安装、纯绿色、仅160KB

C读取文件的一行

刚刚完成的C读取文件一行数据,可以读大量数据的行。
/*
函数功能:
   读取文件的一行,当开辟内存不够时return值为-1,size会给出至少需要的内存大小,
      return值为1时表示此时文件结束,从buffer,size得到最后一行的数据和大小。
输入参数:
   stream:文件流
      size:buffer大小,开辟内存大小
输出参数:
      buffer:存放一行字符
      size:buffer大小,字符数目
返回值:
   -1:读取发生错误
      0:成功读取
      1: 文件结束
备注:
      2010.01.11
*/
int rtFGetLine(FILE *stream,char *buffer,int &size)
{
 static unsigned long offset = 0;
 
 bool fileend = 0;
 unsigned long bufsize = 1024;
 char *buf = NULL, *dest = NULL;
 unsigned short inc = 1;
 
 if(!stream || !buffer)
 {
  return -1;
 }
 while(1)
 {
  bufsize *= inc;
        buf = (char *)malloc(sizeof(char)*bufsize);
  if(NULL == buf)
  {
   return -1;
  }
  memset(buf,0x00,bufsize);
  fseek(stream,offset,SEEK_SET);  
  fread(buf,sizeof(char),bufsize,stream);
  if(ferror(stream))
  {
   return -1;
  }
 
  dest = strchr(buf,'\n');
  if(NULL == dest)
  {
   if( strlen(buf) >= bufsize - 1 )//该行字符大于bufsize
   {
    inc++;
    free(buf);
    buf = NULL;    
    continue;
   }
   
   if(feof(stream))//文件包含结束标志
   {         
  &nbs


相关文档:

【C\C++语言入门篇】 深入指针

再上一篇,我们介绍了基本调试。之前也说了,之所以把调试放在前面讲是因为后面的文章基本都会用到调试。观察我们的程序到底发生了什么。让我们能够直接明了的看清楚问题的本质。本篇将深入一点介绍指针这个让无数初学者畏惧的东西。希望大家再看完本篇之后能对指针有新的认识,之后不再惧怕它。觉得它就那么回事。那下面我 ......

c/c++ 数字转成字符串, 字符串转成数字

数字转字符串:
用C++的streanstream:
#include <sstream>
#Include <string>
string num2str(double i)
...{
        stringstream ss;
        ss<<i;
        return ss.str();
......

为什么凯立德C系列的 GPS导航 搜不到星?

http://www.100gps.com/html/index.html 。 地图是上海 ,说明上一次定位是在上海, 或者是上海的某个强人做的 地图,正版的 凯立德第一次用, 地图应该是在深圳 c地图,你可以在功能——系统——GPS参数里面,设置端口, 一般都是com2或者是com4,波特率基本都是4800,然后你再试试能定位吗! 不行, ......

经典C/C++面试题(三)

1) 什么是预编译,何时需要预编译:总是使用不经常改动的大型代码体。
程序由多个模块组成,所有模块都使用一组标准的包含文件和相同的编译选项。在这种情况下,可以将所有包含文件预编译为一个预编译头。
2) char * const p;
  char const * p
  const char *p ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号