так (Показать/Скрыть)
#include "ConsoleLib.h"
main(){
WriteStr(5, 5, "mama" );
}
Logs (Показать/Скрыть)
undefined reference to `WriteStr(int, int, char const*)'
ConsoleLib.cpp (Показать/Скрыть)
#include <iostream>
using namespace std;
#include <windows.h>
#include "ConsoleLib.h"
// Хендл консоли
HANDLE hStdOut = GetStdHandle(STD_OUTPUT_HANDLE);
// Показываем/прячем текстовый курсор
void ShowCursor(bool visible)
{
CONSOLE_CURSOR_INFO cci = { sizeof(cci), visible };
SetConsoleCursorInfo(hStdOut, &cci);
}
// Устанавливает цвет символов и фона
void SetColor(ConsoleColor text, ConsoleColor background)
{
SetConsoleTextAttribute(hStdOut, (WORD)((background << 4) | text));
}
// Перемещает курсор в заданную позицию
void GotoXY(int X, int Y)
{
COORD coord = { X, Y };
SetConsoleCursorPosition(hStdOut, coord);
}
// Выводит заданную строку в заданную позицию
void WriteStr(int X, int Y, const char *Str)
{
GotoXY(X, Y);
cout << Str << flush;
}
// Выводит заданный символ начиная с заданной позиции
void WriteChar(int X, int Y, char Ch)
{
GotoXY(X, Y);
cout << Ch;
}
// Выводит указанное количество заданных символов начиная с заданной позиции
void WriteChars(int X, int Y, char Ch, int Len)
{
GotoXY(X, Y);
for (int i = 0; i < Len; i++)
cout << Ch;
}
// Меняет текстовые аттрибуты, начиная с заданной позиции
void ChangeTextAttr(int X, int Y, ConsoleColor text, ConsoleColor background, unsigned len)
{
COORD coord = { X, Y };
DWORD dwDummy;
FillConsoleOutputAttribute(hStdOut, (WORD)((background << 4) | text), len, coord, &dwDummy);
}
using namespace std;
#include <windows.h>
#include "ConsoleLib.h"
// Хендл консоли
HANDLE hStdOut = GetStdHandle(STD_OUTPUT_HANDLE);
// Показываем/прячем текстовый курсор
void ShowCursor(bool visible)
{
CONSOLE_CURSOR_INFO cci = { sizeof(cci), visible };
SetConsoleCursorInfo(hStdOut, &cci);
}
// Устанавливает цвет символов и фона
void SetColor(ConsoleColor text, ConsoleColor background)
{
SetConsoleTextAttribute(hStdOut, (WORD)((background << 4) | text));
}
// Перемещает курсор в заданную позицию
void GotoXY(int X, int Y)
{
COORD coord = { X, Y };
SetConsoleCursorPosition(hStdOut, coord);
}
// Выводит заданную строку в заданную позицию
void WriteStr(int X, int Y, const char *Str)
{
GotoXY(X, Y);
cout << Str << flush;
}
// Выводит заданный символ начиная с заданной позиции
void WriteChar(int X, int Y, char Ch)
{
GotoXY(X, Y);
cout << Ch;
}
// Выводит указанное количество заданных символов начиная с заданной позиции
void WriteChars(int X, int Y, char Ch, int Len)
{
GotoXY(X, Y);
for (int i = 0; i < Len; i++)
cout << Ch;
}
// Меняет текстовые аттрибуты, начиная с заданной позиции
void ChangeTextAttr(int X, int Y, ConsoleColor text, ConsoleColor background, unsigned len)
{
COORD coord = { X, Y };
DWORD dwDummy;
FillConsoleOutputAttribute(hStdOut, (WORD)((background << 4) | text), len, coord, &dwDummy);
}
ConsoleLib.h (Показать/Скрыть)
#ifndef __CONSOLELIB_H__
#define __CONSOLELIB_H__
#include <windows.h>
// Хендл консоли
extern HANDLE hStdOut;
// Цвета
enum ConsoleColor
{
Black = 0,
Blue = 1,
Green = 2,
Cyan = 3,
Red = 4,
Magenta = 5,
Brown = 6,
LightGray = 7,
DarkGray = 8,
LightBlue = 9,
LightGreen = 10,
LightCyan = 11,
LightRed = 12,
LightMagenta = 13,
Yellow = 14,
White = 15
};
// Показываем/прячем текстовый курсор
void ShowCursor(bool visible);
// Устанавливает цвет символов и фона
void SetColor(ConsoleColor text, ConsoleColor background);
// Перемещает курсор в заданную позицию
void GotoXY(int X, int Y);
// Выводит заданную строку в заданную позицию
void WriteStr(int X, int Y, const char *Str);
// Выводит заданный символ начиная с заданной позиции
void WriteChar(int X, int Y, char Ch);
// Выводит указанное количество заданных символов начиная с заданной позиции
void WriteChars(int X, int Y, char Ch, int Len);
// Меняет текстовые аттрибуты, начиная с заданной позиции
void ChangeTextAttr(int X, int Y, ConsoleColor text, ConsoleColor background, unsigned len);
#endif // __CONSOLELIB_H__
#define __CONSOLELIB_H__
#include <windows.h>
// Хендл консоли
extern HANDLE hStdOut;
// Цвета
enum ConsoleColor
{
Black = 0,
Blue = 1,
Green = 2,
Cyan = 3,
Red = 4,
Magenta = 5,
Brown = 6,
LightGray = 7,
DarkGray = 8,
LightBlue = 9,
LightGreen = 10,
LightCyan = 11,
LightRed = 12,
LightMagenta = 13,
Yellow = 14,
White = 15
};
// Показываем/прячем текстовый курсор
void ShowCursor(bool visible);
// Устанавливает цвет символов и фона
void SetColor(ConsoleColor text, ConsoleColor background);
// Перемещает курсор в заданную позицию
void GotoXY(int X, int Y);
// Выводит заданную строку в заданную позицию
void WriteStr(int X, int Y, const char *Str);
// Выводит заданный символ начиная с заданной позиции
void WriteChar(int X, int Y, char Ch);
// Выводит указанное количество заданных символов начиная с заданной позиции
void WriteChars(int X, int Y, char Ch, int Len);
// Меняет текстовые аттрибуты, начиная с заданной позиции
void ChangeTextAttr(int X, int Y, ConsoleColor text, ConsoleColor background, unsigned len);
#endif // __CONSOLELIB_H__