c语言读取txt文件指定行,关于用C读取TXT文件的指定行问题,搞定不了

已知如下程序,我在单位搞网络的,就大学的时候学过一点C,今天领导临时抓我来编

,不胜感激,临帖涕零…… 需求是读取指定行指定位置的内容有可能是字符也有可能是数字!

但是之后在UNIX下的C执行之后报错,貌似没有new 这个函数,也没有conio.h这个头文件啊,能不能帮改进一下。但是我使用的是UNIX上的VI编写,貌似没有conio.h的头文件跟NEW函数,那个高人帮我改写一下啊!不胜感激

#include

#include

#include

void main()

{

char *pBuff;

FILE *pf = fopen(“data.txt”,”rb”);

fseek(pf,0,SEEK_END);

int len =ftell(pf);

if(len==0)

{

printf(“文件是空的\n”);

fclose(pf);

return;

}

pBuff = new char[len];

memset(pBuff,0,len);

fseek(pf,0,SEEK_SET);

fread(pBuff,len,1,pf);

fclose(pf);

char *pBuffLine = new char[len];

char *pos;

pos = pBuff;

int i,j=0;

int linelen;

printf(“行号:”);

int LineNum;

scanf(“%d”,&LineNum);

int num =0;

for(i=0;i

{

if(*pos == 0xD && *(pos+1) ==0xA)

{

num++;

linelen = pos -(pBuff+j);

memset(pBuffLine,0,len);

memcpy(pBuffLine,pBuff+j,linelen);

*(pBuffLine+linelen)=0;

if(num == LineNum)

{

printf(“%s\n”,pBuffLine);

return;

}

pos+=2;

j=pos-pBuff;

continue;

}

pos++;

}

if(j!=len)

{

num++;

linelen =len-j;

memset(pBuffLine,0,len);

memcpy(pBuffLine,pBuff+j,linelen);

*(pBuffLine+linelen)=0;

if(num == LineNum)

{

printf(“%s\n”,pBuffLine);

return;

}

}

}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值