내 C++ naivete를 용서하십시오. .OBJ 3D 개체 파일을 구문 분석 할 때 두 문자를 비교해야합니다. 각 줄 반복에서 strcmp 호출은 결코 진실을 반환하지 않습니다. 나는 이것이 내 char * vs char 지식에 있지 않기 때문에 이것이 느낌 인 것 같습니다. 아무도 내가 여기서 뭘 잘못하고있는 걸 보지?.OBJ 파일을 구문 분석하기위한 C++ 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++;
}
왜이'char * type = new char [1];'? 왜 단순히'char type;'이 아닌가? – Nawaz
strcmp를 if (type [0] == 'v')로 변환 할 수없는 이유는 무엇입니까? – Raghuram
const char * type으로 변경했습니다. 그리고 효과가있었습니다. 미안합니다. –