51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2110|回复: 5
打印 上一主题 下一主题

[原创] 有段脚本出错.请高手解决.谢谢

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2008-9-6 11:28:20 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
int count, total = 0;
char buffer[1000];
long file_stream;
char *filename = "d:\\Program Files\\LoadRunner7.8\\scripts\\readme.txt";
     char *p, str[] = "this is the first line of the log file";
     int c;

vuser_init()
{
       
                       
        if ((file_stream = fopen(filename, "w+b") == NULL)  ) {

      lr_error_message("Cannot open %s", filename);
      return -1;
     }
        p = str;
     /* p points to the first character in str */

     while ((*p != NULL) && fputc(*(p++), filename) != -1); /* use -1 for EOF */

     fclose(filename);
}


报出错误是:Error: C-interpreter run time error: vuser_init.c (23):  Error -- memory violation : Exception ACCESS_VIOLATION received.

那位知道解决请指教.刚学测试...
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
 楼主| 发表于 2008-9-6 11:55:44 | 只看该作者
别沉了.自己顶一下.在线等答案..
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2008-9-6 12:35:09 | 只看该作者
3个错误
1、if ((file_stream = fopen(filename, "w+b") == NULL))
分析下这个IF条件,拆开后是  file_stream = fopen(filename, "w+b") == NULL
这个执行结果,其实是 file_stream =fopen(filename, "w+b") == NULL
所以这里要改成 if ((file_stream = fopen(filename, "w+b") ) == NULL)

2、fputc(*(p++), filename) != -1
fputc 的用法:int fputc ( int c, FILE *file_pointer );
第二个参数是文件类型的指针,所以你要改成  fputc(*(p++), file_stream ) != -1

3、fclose(filename);
同2,要关闭一个文件流指针,所以也得改成fclose(file_stream );

回复 支持 反对

使用道具 举报

该用户从未签到

4#
 楼主| 发表于 2008-9-6 12:49:50 | 只看该作者
谢了.看来是我不够细致....
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2008-9-9 09:13:03 | 只看该作者
楼上说得很对,一般报这样的错误是c语法错误
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2008-9-9 10:41:16 | 只看该作者
原帖由 jiejesse 于 2008-9-6 11:28 发表
int count, total = 0;
char buffer[1000];
long file_stream;
char *filename = "d:\\Program Files\\LoadRunner7.8\\scripts\\readme.txt";
     char *p, str[] = "this is the first line of the log file"; ...



看了LZ的代码,又看了LR的帮助文档,有个语法方面的问题想请教LZ。
就是变量file_stream 类型为什么声明为Long型的呢?
1.fputc是将指针指向的str内容写到fileStream 当中的,Char型转变为LONG型,值不会改变么?

2.另外在LR当中使用文件命令的话,要在头文件当中声明什么头文件呢?
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-11-20 15:36 , Processed in 0.067740 second(s), 25 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表