16,550
社区成员
发帖
与我相关
我的任务
分享
int AnalyzeOneLine(char* buf,int* a)
{
//参数一、传人的字符串
//参数二、int * 数组保存的是字串的个数a[0]为第一个字串的开始位,a[1]为第二个字串的开始位
//返回值为一行中字符串的个数
int count=0;
BOOL bSpace=TRUE;
int length=int(strlen(buf)); //得到字符串长度
for(int i=0;i<length;i++) //对所有字符进行循环
{
if(bSpace && buf[i]!=' ' && buf[i]!='\t') //字符不是空格和TAB键
{
a[count]=i;
count++;
bSpace=FALSE;
}
else if(!bSpace &&(buf[i]==' ' || buf[i]=='\t'))
{
buf[i]='\0';
bSpace=TRUE;
}
}
return count;
}
//使用过程
char buf[500]; //保存一行的字符串
int a[20]; //保存每个字串的位置,最多可以保存个
CString strLine; //读取的一行数据
CString Name1,Name2,Name3,Name4;
strcpy(buf,strLine.GetBuffer(strLine.GetLength()));
AnalyzeOneLine(buf,a); //调用处理函数
Name1=buf+a[1]; //第二个字符串
Name2=buf+a[2]; //第三个字符串
Name3=buf+a[3]; //第四个字符串