51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2522|回复: 6
打印 上一主题 下一主题

[原创] 请教

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2010-8-12 16:54:33 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
目的:生成一个随机字符串dialogid,在后面脚本中要用到这个参数
Action()
{
        int l;
        int i;
        char *id;
        id = "dlg"+randomChar(12);
        randomChar(l)
        {       
                char *x;
                char *tmp;
                int j;
                x = "1234567890qwertyuioplkjhgfdsazxcvbnm";
               
                tmp = "";
                for (i = 0; i < l; i++)
                {
                        j =(rand(2) * 100000000) % strlen(x);
                        tmp+ = j;
                }
                return tmp;
        }
    lr_save_string(id,"dialogid");
}

编译老是通不过,请哪位高手帮忙指点下

编译信息如下:
Action.c (8): syntax error; found `{' expecting `;'
Action.c (17): illegal character `\0243'
Action.c (17): illegal character `\0250'
Action.c (17): syntax error; found `)' expecting `;'
Action.c (17): illegal statement termination
Action.c (17): skipping `)' `%'
Action.c (18): illegal expression
Action.c (18): syntax error; found `strcat' expecting `;'
Action.c (20): illegal return type; found `pointer to char' expected `int'
Action.c (22): warning: unreachable code
e:\\work \324\332 172.17.118.223 \311\317\\\320\255\315\254oa\\g1\\\\combined_g1.c (5): 9 errors, not writing pre_cci.ci

[ 本帖最后由 guoxianchina 于 2010-8-12 16:56 编辑 ]
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

7#
 楼主| 发表于 2010-8-13 09:54:54 | 只看该作者
真好,很符合我想要的东东
回复 支持 反对

使用道具 举报

该用户从未签到

6#
 楼主| 发表于 2010-8-13 09:48:55 | 只看该作者
哇,真是感谢各位,特别是云层老师
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2010-8-12 21:23:11 | 只看该作者
&lt;自己改成小于号"<",论坛会过滤转义
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2010-8-12 21:17:34 | 只看该作者
今天心情好专门写了个randomchar的函数给你,记得留版权哦。。。

//create by cloudchen 2010.8.12 in beijing
//randomchar 调用该函数输入一个int型字符串长度和一个参数名,会自动生成由a-z,A-Z,0-9的随机字符串并用该参数名返回
void RandomChar(int mystrlen,char *paramname)
        {
                char tmp[100];
                int i;
strcpy(tmp,&quot;Cloud&quot;);//这里自己可以定义需要生成字符串的开头
                for (i = 0; i&lt;mystrlen; i++)
                {
                        lr_save_var(&quot;abcdefghijklmnopqrstuvwxyz1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ&quot;+(rand()%61+1),1,0,&quot;temp&quot;);
strcat(tmp,lr_eval_string(&quot;{temp}&quot;));
//lr_output_message(tmp);                        
                }
lr_save_string(tmp,paramname);
        }
Action()
{
RandomChar(12,&quot;mystr&quot;);
lr_output_message(&quot;this is my needs random string=%s&quot;,lr_eval_string(&quot;{mystr}&quot;));  

return 0;
}
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2010-8-12 17:36:08 | 只看该作者
这个脚本错误之多真是让我汗颜,先说个简单问题,action()的圆括号写成全角了,所以错了,后面各种取值都是错的。。。
特别是你取随机字符,怎么能用strlen()函数呢。。
回复 支持 反对

使用道具 举报

该用户从未签到

2#
发表于 2010-8-12 17:31:12 | 只看该作者
首先
randomChar(l)
改成(加分号)
randomChar(l);

然后
tmp+ = j;
改成(+和=是一伙的)
tmp += j;

最后
return tmp;
改成(tmp是指针,如果你要返回指针指向的内容的话,应该加星号)
return *tmp;

这只能保证编译通过,运行似乎还有些小问题
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-11-17 21:24 , Processed in 0.069971 second(s), 26 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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