`
liyiye
  • 浏览: 416012 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

LoadRunner编程之文件的操作

阅读更多

这篇文章主要写下LoadRunner下如何进行文件的操作。

1,文件的声明

    LoadRunner不支持FILE数据类型,所以在LoadRunner中用int来声明一个文件:

     int MyFile;

2,文件的打开

     fopen():返回一个FILE数据类型的指针.因为LoadRunner不支持FILE数据类型,所以返回值需要转化成int.

      int MyFile;

      MyFile=(int)fopen("C:\\temp\\loans.txt","w");

      fopen()函数的第一个参数是创建文件的路径.第二个参数指定了创建文件的模式.下面是常用的几种模式

“w” -  , 当需要往文件中写的时候. 如果文件存在,就覆盖该文件,如果文件不存在,根据第一个参数来创建新文件. 

“r” – , 需要从文件中读的时候. 这个文件必须已经存在.

“a” – 附加, 当往文件末尾添加数据时用到.

“rw” – 读和写.

第一个参数中注意文件路径为"\\",因为"\"C语言中为转义字符.另外,如果文件和脚本在同一个目录中,文件的完整路径可以省略.

3, 读文件

        fscanf():用来读文件。函数语法如下:

       int MyFile;

            int LoanNumber;

            MyFile = fopen(“C:\\temp\\loans.txt”,”r”);

            fscanf(MyFile,”%d”, &LoanNumber);

     需要注意的是:MyFile是个文件指针(在LoadRunner中并不是真正的指针),被用来代替实际的文件。所有文件的操作都是使用文件指针而不是文件名称。

     练习1

     先创建一个文件c:\temp\loans.txt,文件包含的内容为:

     11111

     22222

     33333

     44444

     55555

 循环读取并显示该文件中的每行数据,脚本如下:

Actions()

{

        int MyFile;

        int LoanNumber,i;

        // Assigning the file path to a string

        char FileName[80] = "C:\\temp\\loans.txt";

 

 

        // Opening the file

        // Note the use of variable to replace the file path

        //

        MyFile = (int)fopen(FileName,"r");

 

 

        // Reading and printing one loan number at a time

        for(i=1;i<=5;i++)

               {

               fscanf(MyFile,"%d", &LoanNumber);

               lr_output_message("Loan Number %d: %d",i,LoanNumber);

               }

 

        fclose(MyFile);

 

        return 0;

}

当文件打开之后,文件指针在文件的最开始。每读一次,指针就移动到下一行,这就是为什么程序能自动读取下面元素的原因。

a)  如果把循环改为fori=1i<=7;i++),会出现什么样的结果呢?

会出现三个都是打印55555的结果,原因是文件指针移动到最后就不再移动了,但是有7次循环,那多出来的2次循环打印的数据仍然是最后一行的数据。

b) 如果不知道该文件下包含数据的行数, 就无法用for循环。需要使用while循环。可以使用feof函数。feofMyFile)在文件指针没有到达返回文件末尾的时候返回0,如果到末尾返回非0值。这样可以修改程序的循环为:

       whilefeofMyFile== 0);

注意:如果文件末尾有空行,feof也会把它最为文件的一部分。

4,写文件

   fprintf():用来往文件写。语法如下:

            int MyFile;

         char Name[] = “John Doe”;

         MyFile = fopen(“C:\\temp\\loan.txt”,”w”);

               fscanf(MyFile,”%s”,Name);

  第一个参数是文件指针,第二个参数是格式,第三个参数是指定格式对应的变量。

Actions()

{

        int MyFile;

        char Name[] = "John Doe";

 

 

        MyFile = fopen("C:\\temp\\names.txt","w");

// note that "w" is used to write

       

fprintf(MyFile,"%s", Name);

// note that we are printing a string here

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics