我們可以使用fopen()、fscanf()、fprintf()、fclose()函數進行文件操作,但是因爲LoadRunner不支持FILE數據類型,所以我們需要做以下修改:
1、文件的聲明
先定義一個int類型的文件指針:
int MyFile;
2、文件的打開
fopen(FILE * stream ,const char *format,....):返回一個FILE數據類型的指針。
因爲LoadRunner不支持FILE數據類型,所以我們要將返回值轉化成int型。其中,第一個參數指定文件路徑;第二個參數指定創建文件的模式。
int MyFile;
MyFile=(int)fopen("D:\\lr_log\\01.txt","r");
3、讀文件
fscanf(FILE * stream ,const char *format,....)
自參數stream的文件流中讀取字符串,再根據參數format字符串來轉換並格式化數據:
實例一 讀取數值型數據
int MyFile;
int number;
MyFile = fopen("D:\\lr_log\\01.txt","r");
fscanf(MyFile,"%d", &number);
實例二 讀取字符串
int MyFile;
char *ch[10];
MyFile = fopen("D:\\lr_log\\01.txt","r");
fscanf(MyFile,"%s", ch);
4、寫文件
fprintf(FILE *stream,const char * format,va_list ap)
根據參數format字符串來轉換並格式化數據,然後將結果輸出到參數stream指定的文件中,直到出現字符串結束(’\0’)爲止。
int MyFile;
char ch[] ="Hello World!";
MyFile = fopen("D:\\lr_log\\01.txt","w");
fprintf(MyFile,"%s",ch);
5、關閉文件
fclose(FILE * stream)
下面貼一個簡單的實例,從一個文件讀取數據寫入另一個文件中
Action()
{
int MyFile1,MyFile2;
int i;
char data[80]; //defining a parameter,using for storing datas
// Assigning the file path to a string
char *addr="D:\\lr_log\\01.txt";
char *addr1="D:\\lr_log\\user.txt";
//if fail to open the file,print error message
if((MyFile1 = fopen(addr,"r"))==NULL||(MyFile2=fopen(addr1,"w+"))==NULL)
{
lr_error_message("Can't open this file",addr);
return -1;
}
if((MyFile2= fopen(addr1,"w+"))==NULL)
{
lr_error_message("Can't open this file",addr1);
return -1;
}
for(i=1;i<=6;i++)
{
fscanf(MyFile1,"%s",data); //reading the datas from MyFile to the string(data)
lr_output_message("Line%d: %s",i,data);
fprintf(MyFile2,"第%d個用戶:%s\n",i,data); //writing datas to the file(filename)
}
fclose(MyFile1);
fclose(MyFile2);
return 0;
}
本文來自CSDN博客,轉載請標明出處:http://blog.csdn.net/lilywu4205/archive/2008/07/17/2664683.aspx