Ответы пользователя по тегу C++
  • Вывод массива символов cout из структуры другого класса

    UrbanRider
    @UrbanRider Автор вопроса
    Огромное вам спасибо, вы оба были правы. Следовало увеличить буфер до 6 символов, а также экземпляры структуры создать в объявлении класса, а в конструкторе их заполнить.

    Работающий код теперь выглядит так:
    #include #include <string.h>
    using namespace std;
    class ConsoleFitches
    {
    public:
    void SetAttDefault() const {char att[]="\033[0m";cout << att;};
    void SetAttBold() const {char att[]="\033[1m";cout << att;};
    void SetAttBlink() const {char att[]="\033[5m";cout << att;};
    void SetTextColor(char color[5]) const{cout<<color;};
    void SetBgColor(char* color[5]) const{cout<<color;};
    ConsoleFitches();
    struct Color
    {
    char Black[6];
    char Red[6];
    char Green[6];
    char Brown[6];
    char Blue[6];
    char Violet[6];
    char Cyan[6];
    char Gray[6];
    };
    Color TextColor,BgColor;
    };
    ConsoleFitches::ConsoleFitches()
    {
    strcpy(TextColor.Black,"\033[30");
    strcpy(TextColor.Red,"\033[31m");
    strcpy(TextColor.Green,"\033[32");
    strcpy(TextColor.Brown,"\033[33");
    strcpy(TextColor.Blue,"\033[34");
    strcpy(TextColor.Violet,"\033[35");
    strcpy(TextColor.Cyan,"\033[36");
    strcpy(TextColor.Gray,"\033[37");
    strcpy(BgColor.Black,"\033[40");
    strcpy(BgColor.Red,"\033[41");
    strcpy(BgColor.Green,"\033[42");
    strcpy(BgColor.Brown,"\033[43");
    strcpy(BgColor.Blue,"\033[44");
    strcpy(BgColor.Violet,"\033[45");
    strcpy(BgColor.Cyan,"\033[46");
    strcpy(BgColor.Gray,"\033[47");
    };

    Также хотелось бы получить уточнение, чем этот код ужасен, и как написать правильно?
    Ответ написан