C语言读取指定行文本
2015-12-11 15:18
1461 查看
当Loadrunner参数文件,每行取值文件过长且难以保存成功时,可以尝试使用读取文件行的方式取参数。
参考的函数如下:
Loadrunner中的实现如下:
以下为从一个总行数为10的文件中随机取一行的实现方法,以下内容放在Action.c中即可:
参考的函数如下:
#include <stdio.h> 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; //<strong>生成0到9的随机数</strong> 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}"));
相关文章推荐
- C/C++函数指针
- C/C++常用算法【C语言顺序查找(随机数)】【1】
- C/C++常用算法【C语言顺序查找(随机数)】【1】
- C++函数模板的具体化和实例化
- 深度解析C++模版
- C++函数模板与类模板实例解析
- C -- C语言字符串操作
- HDOJ 2024 C语言合法标识符
- 用C++试着完成Python简明教程后面的练习
- VC++ 对话框下使用工具栏
- MFC 获得各类指针、句柄的方法
- android canvas c++ 绘图
- 设计模式C++实现:转发器-接收器模式
- Arduino 平台与C语言程序设计-week4-Arduino Programs-Lesson3
- Arduino 平台与C语言程序设计-week4-Arduino Programs-Lesson2
- C++ - memset的效率和源码分析
- C++指向类成员函数的指针详细解析
- C++运算符重载
- C++ 获取其它进程命令行参数
- C++学习笔记(初级篇)——常用的预编译指令