c语言读取指定字符,C语言读取指定行文本

当Loadrunner参数文件,每行取值文件过长且难以保存成功时,可以尝试使用读取文件行的方式取参数。

参考的函数如下:

#include

char * ReadSpeacialLine(int i)

{

char filename[] = "test.c"; //文件名

FILE *fp;

int WhichLine=i; //指定要读取哪一行

int CurrentIndex=0; //当前读取的行

char StrLine[1024]; //每行最大读取的字符数,可根据实际情况扩大

if((fp = fopen(filename,"r")) == NULL) //判断文件是否存在及可读

{

printf("error!");

return NULL;

}

while (!feof(fp))

{

if (CurrentIndex==WhichLine)

{

fgets(StrLine,1024,fp); //读取一行

printf("%s", StrLine); //输出

return StrLine;

}

fgets(StrLine,1024,fp); //读取一行,并定位到下一行

CurrentIndex++;

//printf("%s", StrLine); //输出

}

fclose(fp); //关闭文件

return NULL;

}

Loadrunner中的实现如下:

以下为从一个总行数为10的文件中随机取一行的实现方法,以下内容放在Action.c中即可:

char filename[] = "trainInfo.txt"; //文件名

long file;

int WhichLine=rand()%10; //生成0到9的随机数

int CurrentIndex=0; //当前读取的行

char StrLine[2000]; //每行最大读取的字符数,可根据实际情况扩大

lr_output_message("WhichLine---%d",WhichLine);

//

if((file = fopen(filename,"r")) == NULL) //判断文件是否存在及可读

{

printf("error!");

return NULL;

}

while (!feof(file))

{

if (CurrentIndex==WhichLine)

{

fgets(StrLine,2000,file); //读取一行

//printf("%s", StrLine); //输出

break;

}

fgets(StrLine,2000,file); //读取一行,并定位到下一行

CurrentIndex++;

//printf("%s", StrLine); //输出

}

fclose(file);

//printf("StrLine--%s",StrLine); //输出

lr_save_string(StrLine,"trainInfo");

//lr_output_message("trainInfo---%s",lr_eval_string("{trainInfo}"));

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值