首先理解strtok函数的定义。 特别是指针,需要自己理解。
原型: char*strtok(char*s,const char *delim );
#includestring.h
将字符串分解为一系列字符串。 s是要分解的字符串,delim是分隔符字符串。
strtok ) )用于将字符串拆分为各个片段。 参数s指的是要分割的字符串,参数delim是分割字符串中包含的所有字符。 strtok ) )在参数s的字符串中找到参数delim的ajdxf分隔符后,将该字符更改为 个字符。 在第一次调用中,strtok ()必须提供参数s字符串,而在后续调用中将参数s设置为NULL。 每次调用成功时,返回指向分割片段的指针。 以s开头的一个个分割的字符串。 如果没有拆分的字符串,则返回NULL。 所有delim中的字符都将被过滤,过滤位置将设置为拆分的节点。
应用实例如下。
读取. stl文件中特定行的数据
FETS(BUF,1024,f1 ); //信息存储在buf中
char *token=NULL;
token=strtok(buf,''); //分隔字符串,空格作为分隔符
nor_coordi[0]=token;
if(Token!=NULL )
{
token=strtok(null,'');
}
nor_coordi[1]=token;
if(Token!=NULL )
{
token=strtok(null,'');
}
nor_coordi[2]=token;
if(Token!=NULL )
{
token=strtok(null,'');
}
nor_coordi[3]=token;
if(Token!=NULL )
{
token=strtok(null,'');
}
nor_coordi[4]=token;
if(Token!=空)
{
token=strtok(null,'');
}
允许有选择地输出创建的数组。
原始数据:
facet normal 0.000000 e 00.000000 e 001.000000 e 00
分割读取后:
0.000000 e 00.000000 e 001.000000 e 00
用同样的方法,用实数表示置换e的指数表示,就可以得到坐标值。