#include "CString1.h"
#include <string.h>

CString1::CString1()
{
    str[0] = '\0';
    cout << "constructeur par defaut  : CString1()" << endl;
}

CString1::CString1(const char * s)
{
    cout << "constructeur  : CString1(const char * s)" << endl;
    strncpy(str, s, 32);
}

size_t CString1::length()
{
    return strlen(str);
}

const char * CString1::getStr() const
{
    return str;
}

void CString1::setStr(const char * s)
{
    if (strlen(s) < 32)
        strcpy(str, s);
}

CString1 CString1::plus(const CString1 & s) const
{
    CString1 res;
    if (strlen(str) + strlen(s.str) > 32)
    {
        cout << "Plus de 32 caractères à concaténer" << endl;
        return res;
    }

    res.setStr(str);
    strcat(res.str, s.str);
    return res;
}

bool CString1::plusGrandQue(const CString1 & s) const
{
    if (strcmp(str, s.str) > 0)
        return true;
    return false;
}

bool CString1::infOuEgale(const CString1 & s) const
{
     if (strcmp(str, s.str) <= 0)
        return true;
    return false;
}

ostream & operator<<(ostream & os, const CString1 & s)
{
    os << s.str;
    return os;
}
