void CInfoFile::ReadDocline()
{
ifstream ifs(_F_STOCK); //输入方式打开文件
char buf[1024] = { 0 };
ls.clear();
//取出表头
ifs.getline(buf, sizeof(buf));
while (!ifs.eof()) //没到文件结尾
{
msg tmp;
ifs.getline(buf, sizeof(buf)); //读取一行
//AfxMessageBox(CString(buf));
char *sst = strtok(buf, "|"); //以“|”切割
if (sst != NULL)
{
tmp.num = atoi(sst); //电脑序号
}
else
{
break;
}
sst= strtok(NULL, "|");
tmp.name = sst;
//同学名字
sst = strtok(NULL, "|");
tmp.id = sst;//电脑品牌
sst = strtok(NULL, "|");
tmp.NAME1 = sst;//软件名称
sst = strtok(NULL, "|");
tmp.NAME2 = sst; //软件名称
sst = strtok(NULL, "|");
tmp.NAME3 = sst;//软件名称
ls.push_back(tmp); //放在链表的后面
}
ifs.close(); //关闭文件
}
tmp.name = sst;
这样都不行的,要用strcpy进行字符串复制,你这样只是指针指向
我已经将问题定位到最后一个strtok函数了