gpt4 book ai didi

c++ - 将非统一字符串解析为整数

转载 作者:行者123 更新时间:2023-11-27 23:16:11 25 4
gpt4 key购买 nike

我正在为 .obj 文件编写一个解析器,该文件的一部分格式为

f [int]/[int] [int]/[int] [int]/[int]

并且整数的长度未知。在每个 [int]/[int] 对中,它们都需要放在单独的数组中。将它们分隔为整数的最简单方法是什么?

最佳答案

你可以用 fscanf 做到这一点:

int matched = fscanf(fptr, "f %d/%d %d/%d %d/%d", &a, &b, &c, &d, &e, &f);
if (matched != 6) fail();

或者 ifstream 和 sscanf:

char buf[100];
yourIfstream.getLine(buf, sizeof(buf));
int matched = sscanf(buf, "f %d/%d %d/%d %d/%d", &a, &b, &c, &d, &e, &f);
if (matched != 6) fail();

关于c++ - 将非统一字符串解析为整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16194280/

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