注册 登录
编程论坛 C++教室

关于strtok函数与strtok_s函数的转换

孤狼A组 发布于 2016-05-07 21:59, 5217 次点击
CStaff* CStaffDao::PraseStaff(char* pStaffInfo)   //私有成员函数,
{  char* pDelims="##";//设置分隔符
   char aFlag[5][MAX]={0}; //分隔后保存的位置
   char* pBuf=NULL;
   char* pStr=NULL;
   int nIndex=0;
   pBuf=pStaffInfo;
   while((pStr=strtok(pBuf,pDelims))!=NULL)
   {
       strcpy_s(aFlag[nIndex],pStr);
       nIndex++;
      
   }   //此处循环的目的是对传入的char*类型的数据(hwq##123456##黄##中国##1)解析成五条并分别保存在二维数组aFlag中,可是在vs2012中strtok是不安全的,希望能帮我把strtok改成strtok_s并完成同样的功能。谢谢  我实在是搞不懂strtok_s函数。
  
   //pStaff为管理员对象,以下是给该对象赋初值
   CStaff* pStaff=new CStaff();
   pStaff->SetAccount(aFlag[0]);
   pStaff->SetPassword(aFlag[1]);
   pStaff->SetName(aFlag[2]);
   pStaff->SetBankName(aFlag[3]);
   int nPermission=atoi(aFlag[4]);   //类对象赋值时,注意整形数据的区别
   pStaff->SetPermission(nPermission);
   return pStaff;
 }
0 回复
1