拆分字符串

来源:互联网 发布:枪王黑泽 知乎 编辑:程序博客网 时间:2024/04/24 20:13

将StuScore.ini文件进行拆分

StuScore.ini文件内容如下:

10|学生十|1|汽车|结构展示|任务1|99|10|2010-11-02

需要得到的结果:

10

学生十

1

汽车

结构展示

任务1

99

10

2010-11-02

 

程序如下:

#include <afx.h>
#include <iostream.h>
#include "string.h"

void main()
{
 FILE *fp = fopen( ".//StuScore.ini", "rb");   //   注意这里rb指定二进制方式读
 char szTemp[4096];
 CString Total,sNo,sName,sDeptClass,sProLine,sSubSys,sTaskNo,sScore,sFileName,sTestData;
 int pos;
 memset(szTemp, 0, sizeof(szTemp));
 fflush(fp);
 int nReadData = fread(szTemp, 1, 4096, fp);
 Total = szTemp;
 cout<<Total<<endl;
 pos = Total.Find("|");
 sNo = Total.Left(pos);
 cout<<sNo<<endl;
 Total = Total.Right(Total.GetLength() - pos - 1);
 pos = Total.Find("|");
 sName = Total.Left(pos);
 cout<<sName<<endl;
 Total = Total.Right(Total.GetLength() - pos - 1);
 pos = Total.Find("|");
 sDeptClass = Total.Left(pos);
 cout<<sDeptClass<<endl;
 Total = Total.Right(Total.GetLength() - pos - 1);
 pos = Total.Find("|");
 sProLine = Total.Left(pos);
 cout<<sProLine<<endl;
 Total = Total.Right(Total.GetLength() - pos - 1);
 pos = Total.Find("|");
 sSubSys = Total.Left(pos);
 cout<<sSubSys<<endl;
 Total = Total.Right(Total.GetLength() - pos - 1);
 pos = Total.Find("|");
 sTaskNo = Total.Left(pos);
 cout<<sTaskNo<<endl;
 Total = Total.Right(Total.GetLength() - pos - 1);
 pos = Total.Find("|");
 sScore = Total.Left(pos);
 cout<<sScore<<endl;
 Total = Total.Right(Total.GetLength() - pos - 1);
 pos = Total.Find("|");
 sFileName = Total.Left(pos);
 cout<<sFileName<<endl;
 sTestData = Total.Right(Total.GetLength() - pos - 1);
 cout<<sTestData<<endl;
}