Пример #1
0
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;
}
Пример #2
0
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;
}