gpt4 book ai didi

c - 使用可选参数格式 C/C++ 读取字符串

转载 作者:行者123 更新时间:2023-11-30 17:39:25 25 4
gpt4 key购买 nike

我正在尝试从 Wavefront OBJ 文件中解析脸部。这些面在文件中逐行指定,格式如下:

f v1/vt1/vn1 v2/vt2/vn2 ...

三元组序列 (v, vt, vn) 的长度是可变的。每个三元组由空格分隔,三元组内的每个值由/分隔。

到目前为止一切顺利,使用 strtok 分隔三元组,然后用sscanf 和格式 %f/%f/%f 工作得很好。然而,在 OBJ 文件的规范中,这一行可以有另一种形式,如下所示:

f v1//vn1 v2//vn2 ...

在这种情况下,vt 丢失,并且所有三元组中都应该丢失,并且 sscanf 解析将不起作用。

有什么方法可以用 C 或 C++ 解析它以避免嵌套 strtok

最佳答案

我想你可以先使用%f//%f格式,然后检查返回值。如果返回值小于 2,请改为使用 %f/%f/%f 格式,该格式应适用于 v、vt 和 vtn。

关于c - 使用可选参数格式 C/C++ 读取字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21818438/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com