#include "stdafx.h" //--------------------------------------------------------------------------- #pragma hdrstop #include <tchar.h> #pragma argsused //--------------------------------------------------------------------------- #include <conio.h> #include <stdio.h> #include <windows.h> //--------------------------------------------------------------------------- void OEMTextOut(char *Buffer, int TextAttribute = 10) { // Вывод цветного кириллического текста char outBuffer[256]; HANDLE console = GetStdHandle(STD_OUTPUT_HANDLE); SetConsoleTextAttribute(console, TextAttribute); CharToOemA(Buffer, outBuffer); // кириллизация текста printf_s("%s\n", outBuffer); // вывод текста } //--------------------------------------------------------------------------- int main() { OEMTextOut("=== SimpleHandler ===", 11); OEMTextOut("Начало", 12); try { OEMTextOut(" ...в блоке try"); OEMTextOut(" Генерация текстового исключения 'Это тест!'", 14); throw " Это тест!"; // генерация исключения, заданного постоянной строкового типа OEMTextOut("Эта строка не отобразится, т.к. управление передано блоку catch"); } catch (const char* p) { // перехват исключения, заданного постоянной строкового типа OEMTextOut(" ...в блоке catch"); // преобразование постоянного указателя на строку в переменный OEMTextOut(const_cast <char *> (p), 14); } OEMTextOut("Конец", 12); system("pause"); } I get the following error:
Error C2664 "BOOL CharToOemW (LPCWSTR, LPSTR)": Cannot convert argument 1 from "char *" to "LPCWSTR"