BOOL BIniFile::LoadFile(const char *const fileName) { BZ_CHECK_C_STRING_RETURN_BOOL(fileName); std::ifstream fileIn(fileName); if (!fileIn) { assert(false); return FALSE; } char buffer[LINE_BUFFER_SIZE]; bool getSeg = false; size_t nBufLen = 0; int nAssPos = 0; while (!fileIn.eof()) { fileIn.getline(buffer, LINE_BUFFER_SIZE); if ((!getSeg) && (!IsSegment(buffer))) { continue; } if (IsComment(buffer)) { continue; } if (IsSegment(buffer)) { BSegmentNode seg; getSeg = true; nBufLen = strlen(buffer); buffer[nBufLen - 1] = '\0'; seg.m_bssSeg = BSimpleString(buffer + 1); m_segArray.push_back(seg); continue; } if (-1 != (nAssPos = IsKeyNode(buffer))) { BKeyNode key; buffer[nAssPos] = '\0'; key.m_bssKey = BSimpleString(buffer); key.m_bssValue = BSimpleString(buffer + nAssPos + 1); m_segArray.back().AddKey(key); continue; } } fileIn.close(); return TRUE; }
int main() { int i; for(i = 0; i < 4; ++i) { scanf("%d", &A[i]); } if(IsTriangle()) { puts("TRIANGLE"); } else if(IsSegment()) { puts("SEGMENT"); } else { puts("IMPOSSIBLE"); } return 0; }