有段脚本出错.请高手解决.谢谢
int count, total = 0;char buffer;
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.
那位知道解决请指教.刚学测试... 别沉了.自己顶一下.在线等答案.. 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 );
谢了.看来是我不够细致.... 楼上说得很对,一般报这样的错误是c语法错误 原帖由 jiejesse 于 2008-9-6 11:28 发表 http://bbs.51testing.com/images/common/back.gif
int count, total = 0;
char buffer;
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]