51Testing软件测试论坛

标题: 请教大家一个简单的问题 [打印本页]

作者: lijiakxl    时间: 2009-6-18 10:50
标题: 请教大家一个简单的问题
我想用LoadRunner 模拟100个用户发送Socket请求 发送过去的数据都要带有ID ID存储在一个txt外部文件中 请问为什么我读取文件的时候


int i;

Action()
{

        char  path[11]="E:\\Data.txt";        //读取文件的路径
        int File;                //文件指针   LoadRunner 不支持FILE类型
        char  ID[20]  ;
        char  strSend[128] ="*HQ,";
       
        char Data[65] = ",V1,160029,A,3958.0670,N,11834.0178,E,000.00,290,110808,FFFFFBFF#";        //数据的后面的部分
        //lr_output_message("%s\n",Data);
        i = 0;
   //// srand( (unsigned)time( NULL));
        i = rand()%29640;        //产生29640以内的随机数
        //i += 10000;
    //itoa( i , ID ,10);
   
   
        if((File = (int)fopen(path,"r"))==NULL)
        {
                lr_error_message("Can't open this file",path);
        return -1;
        }

   
    fseek(File , i , 0);
    fscanf(File,"%s",ID);   
    ID[0] = '\0';
    fscanf(File , "%s",ID);
    lr_output_message("ID:  %s",ID);

   
       
        fclose(File);


        strcat(strSend,ID);
    strcat(strSend,Data);
    lr_output_message("%s",strSend);
       
    lrs_create_socket("socket0", "TCP", "LocalHost=0", "RemoteHost=127.0.0.1:6969", LrsLastArg);

    lrs_set_send_buffer("socket0",strSend, 79);

        lrs_send("socket0", "buf0", LrsLastArg);   //往"socket0"发送"buf0"中的数据

   
       
   
  
       
    lrs_close_socket("socket0");        //关闭
    return 0;
}
老是出现无法打开文件??

而把红色部分注释起来以后  运行就正常了??
作者: kf11859    时间: 2009-6-19 16:36
在下认为fseek(File , i , 0);这一句存在隐患,很可能是那个i超出了文件字节范围了,所以导致打开失败。建议你确认下你的文件是个什么文件,还有就是i的取值是否得当。
作者: fire83617    时间: 2009-6-19 16:48
id[0]=‘\0’???数组的第一个就结束了。。。后面的应该都无法读取了吧
作者: 云层    时间: 2009-6-19 21:32
猜猜看,是不是多进程读取一个文件的访问问题?
作者: yun19830206    时间: 2009-6-19 22:22
原帖由 云层 于 2009-6-19 21:32 发表
猜猜看,是不是多进程读取一个文件的访问问题?


云层 是挨个答复啊,真好。




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2