大家帮我看看到底是什么问原因造成的
大家好!本人菜鸟一只,目前正在学习LRC Vuser脚本编写。今天照着书上输入以下代码:#define USERCOUNT 100
Action()
{ char *namecommon="people";
char *passwordcommon="people";
char *filename="C:\\marks.txt";
long file=NULL;
int i=0;
char username;
char password;
if(file=fopen(filename,"wt+")==NULL)
{lr_output_message("Uable to create %s",filename);
return -1;
}
for(i=0;i<USERCOUNT;i++)
{
sprintf(username,"%s%d",namecommon,i);
sprintf(password,"%s%d",passwordcommon,i);
strcat(username," ");
strcat(username,password);
strcat(username,"\r\n");
fwrite(username,strlen(username),1,file);
}
fclose(file);
return 0;
}
编译未产生问题,但是在运行时出现以下错误提示:
Starting action Action.
Action.c(22): Error: C interpreter run time error: Action.c (22):Error -- memory violation : Exception ACCESS_VIOLATION received.
Action.c(22): Notify: CCI trace: Action.c(22): fwrite(0x00ca0020 "people0 people0\r\n", 17, 1, 0)
.
Action.c(22): Notify: CCI trace: Compiled_code(0): Action()
.
Ending Vuser...
使用断点调试一下,发现是运行完fwrite(username,strlen(username),1,file);就提示错误了。。。
我对比了一下书上写的,已经是一摸一样的了,但是就是出错。麻烦各位高手帮我看看是什么原因。
还有就是我在脚本里输入“\”符号总是会变成“¥”,不知道这个是什么原因呢?哪里可以改呢?
[ 本帖最后由 mai_ki1 于 2010-4-25 19:43 编辑 ] 哈哈,找到问题的原因了
把
if(file=fopen(filename,"w+")==NULL)
{
lr_output_message("Uable to create %s",filename);
return -1;
}
改成
file=fopen(filename,"w+");
if(file==NULL)
{
lr_output_message("Uable to create %s",filename);
return -1;
}
就OK了! 我是菜鸟, 但都知道你错在什么地方
if(file=fopen(filename,"w+")==NULL)
需要改成 if((file=fopen(filename,"w+"))==NULL) if((file=fopen(filename,"wt+"))==NULL)
=是赋值操作
页:
[1]