lijiakxl 发表于 2009-6-18 10:50:15

请教大家一个简单的问题

我想用LoadRunner 模拟100个用户发送Socket请求 发送过去的数据都要带有ID ID存储在一个txt外部文件中 请问为什么我读取文件的时候


int i;

Action()
{

        charpath="E:\\Data.txt";        //读取文件的路径
        int File;                //文件指针   LoadRunner 不支持FILE类型
        charID;
        charstrSend ="*HQ,";
       
        char Data = ",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';
    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:22

在下认为fseek(File , i , 0);这一句存在隐患,很可能是那个i超出了文件字节范围了,所以导致打开失败。建议你确认下你的文件是个什么文件,还有就是i的取值是否得当。

fire83617 发表于 2009-6-19 16:48:30

id=‘\0’???数组的第一个就结束了。。。后面的应该都无法读取了吧

云层 发表于 2009-6-19 21:32:53

猜猜看,是不是多进程读取一个文件的访问问题?

yun19830206 发表于 2009-6-19 22:22:31

原帖由 云层 于 2009-6-19 21:32 发表 http://bbs.51testing.com/images/common/back.gif
猜猜看,是不是多进程读取一个文件的访问问题?

云层 是挨个答复啊,真好。
页: [1]
查看完整版本: 请教大家一个简单的问题