gpt4 book ai didi

c++ - 比较 C++ char* 字符以解析 .OBJ 文件

转载 作者:行者123 更新时间:2023-11-28 00:57:43 33 4
gpt4 key购买 nike

原谅我的 C++ 天真。我需要在解析 .OBJ 3D 目标文件时比较两个字符。在每一行迭代中,我进行的 strcmp 调用永远不会返回 true。我有一种感觉,这是因为我不了解我的 char* 与 char 知识。有人看到我在这里做错了什么吗?

//Variables
char* type = new char[1];

float v1;
float v2;
float v3;

//INSIDE the while loop that parses each line of the file
getline(myfile, line);
sscanf(line.c_str(),"%c %f %f %f", type, &v1, &v2, &v3);
if(strcmp(type,"f") == 0){
faces++;
}
if(strcmp(type,"v") == 0){
vertices++;
}

最佳答案

“strcmp”比较空终止字符串,但是,您已将“type”定义为单个字符,而不是 strcmp 预期的以 x'00' 终止的字符数组。

一个简单的 if (type == 'f') 字符比较应该可以得到正确的结果。

关于c++ - 比较 C++ char* 字符以解析 .OBJ 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10202898/

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