[函数]
char* randstring(int slen)
{int i, randid;
char temp[100] = "";
char character_set[52] = {'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z','a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'};
for(i =1; i<=slen; i++)
{
randid = rand() % 52;
sprintf(temp,"%s%c",temp,character_set[randid]);
}
return (temp);
}
[使用]
lr_save_string(lr_eval_string(randstring(5)),"abc");
这个问题现在看来很简单,但却折腾了半天,好好记录下来。
因为是照着某本书上录入的,原书是 lr_save_string(randstring(5),"abc"); lr_output_message打印出来的abc值一直是乱码,百思不得其解,查帮助查百度也没结果。最后抱着试试看的心态加了lr_eval_string,终于对了。
[结论] C语言里的字符串参数,要用到LR函数里时必须用lr_eval_string。 Am I right?