Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 30, средняя оценка - 4.63
Sylvos
-25 / 6 / 1
Регистрация: 06.04.2011
Сообщений: 85
#1

невозможно преобразовать параметр 1 из "const char [8]" в "LPCWSTR" - C++

07.10.2011, 06:19. Просмотров 3923. Ответов 6
Метки нет (Все метки)

msoftcon.h
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
//msoftcon.h
//declarations for Lafore's console graphics functions
//uses Window's console functions
 
#ifndef _INC_WCONSOLE    //don't let this file be included
#define _INC_WCONSOLE    //twice in the same source file
 
#include <windows.h>     //for Windows console functions
#include <conio.h>       //for kbhit(), getche()
#include <math.h>        //for sin, cos
 
enum fstyle { SOLID_FILL, X_FILL,      O_FILL, 
              LIGHT_FILL, MEDIUM_FILL, DARK_FILL };
 
enum color {
   cBLACK=0,     cDARK_BLUE=1,    cDARK_GREEN=2, cDARK_CYAN=3, 
   cDARK_RED=4,  cDARK_MAGENTA=5, cBROWN=6,      cLIGHT_GRAY=7,
   cDARK_GRAY=8, cBLUE=9,         cGREEN=10,     cCYAN=11, 
   cRED=12,      cMAGENTA=13,     cYELLOW=14,    cWHITE=15 };
//--------------------------------------------------------------
void init_graphics();
void set_color(color fg, color bg = cBLACK);
void set_cursor_pos(int x, int y);
void clear_screen();
void wait(int milliseconds);
void clear_line();
void draw_rectangle(int left, int top, int right, int bottom);                    
void draw_circle(int x, int y, int rad);
void draw_line(int x1, int y1, int x2, int y2);
void draw_pyramid(int x1, int y1, int height);
void set_fill_style(fstyle);
#endif /* _INC_WCONSOLE */
msoftcon.cpp
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
//msoftcon.cpp
//provides routines to access Windows console functions
 
//compiler needs to be able to find this file
//in MCV++, /Tools/Options/Directories/Include/type path name
 
#include "msoftcon.h"
HANDLE hConsole;         //console handle
char fill_char;          //character used for fill
//--------------------------------------------------------------
void init_graphics()
   {
   COORD console_size = {80, 25};
   //open i/o channel to console screen
   hConsole = CreateFile("CONOUT$", GENERIC_WRITE | GENERIC_READ,
                   FILE_SHARE_READ | FILE_SHARE_WRITE,
                   0L, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0L);
   //set to 80x25 screen size
   SetConsoleScreenBufferSize(hConsole, console_size);
   //set text to white on black
   SetConsoleTextAttribute( hConsole, (WORD)((0 << 4) | 15) );
 
   fill_char = '\xDB';  //default fill is solid block
   clear_screen();
   }
//--------------------------------------------------------------
void set_color(color foreground, color background)
   {
   SetConsoleTextAttribute( hConsole, 
                        (WORD)((background << 4) | foreground) );
   }  //end setcolor()
 
/* 0  Black          8  Dark gray
   1  Dark blue      9  Blue
   2  Dark green     10 Green
   3  Dark cyan      11 Cyan
   4  Dark red       12 Red
   5  Dark magenta   13 Magenta
   6  Brown          14 Yellow
   7  Light gray     15 White
*/
//--------------------------------------------------------------
void set_cursor_pos(int x, int y)
   {
   COORD cursor_pos;              //origin in upper left corner
   cursor_pos.X = x - 1;          //Windows starts at (0, 0)
   cursor_pos.Y = y - 1;          //we start at (1, 1)
   SetConsoleCursorPosition(hConsole, cursor_pos);
   }
//--------------------------------------------------------------
void clear_screen()
   {
   set_cursor_pos(1, 25);
   for(int j=0; j<25; j++)
      putch('\n');
   set_cursor_pos(1, 1);
   }
//--------------------------------------------------------------
void wait(int milliseconds)
   {
   Sleep(milliseconds);
   }
//--------------------------------------------------------------
void clear_line()                    //clear to end of line
   {                                 //80 spaces
   //.....1234567890123456789012345678901234567890
   //.....0........1.........2.........3.........4 
   cputs("                                        ");
   cputs("                                        ");
   }
//--------------------------------------------------------------
void draw_rectangle(int left, int top, int right, int bottom) 
   {
   char temp[80];
   int width = right - left + 1;
   int Z;
   for(int j=0; j<width; j++)      //string of squares
   {
      temp[j] = fill_char;   
      Z=j;
   }
   temp[Z] = 0;                    //null
 
   for(int y=top; y<=bottom; y++)  //stack of strings 
      {
      set_cursor_pos(left, y);
      cputs(temp);
      }
   }
//--------------------------------------------------------------
void draw_circle(int xC, int yC, int radius)
   {
   double theta, increment, xF, pi=3.14159;
   int x, xN, yN;
 
   increment = 0.8 / static_cast<double>(radius);
   for(theta=0; theta<=pi/2; theta+=increment)  //quarter circle
      {
      xF = radius * cos(theta);  
      xN = static_cast<int>(xF * 2 / 1); //pixels not square
      yN = static_cast<int>(radius * sin(theta) + 0.5);
      x = xC-xN;
      while(x <= xC+xN)          //fill two horizontal lines
         {                       //one for each half circle
         set_cursor_pos(x,   yC-yN); putch(fill_char);  //top
         set_cursor_pos(x++, yC+yN); putch(fill_char);  //bottom
         }
      }  //end for
   }
//--------------------------------------------------------------
void draw_line(int x1, int y1, int x2, int y2)
   {
 
   int w, z, t, w1, w2, z1, z2;
   double xDelta=x1-x2, yDelta=y1-y2, slope;
   bool isMoreHoriz;
 
   if( fabs(xDelta) > fabs(yDelta) ) //more horizontal
      {
      isMoreHoriz = true;
      slope = yDelta / xDelta;
      w1=x1; z1=y1; w2=x2, z2=y2;    //w=x, z=y 
      }
   else                              //more vertical
      {
      isMoreHoriz = false;
      slope = xDelta / yDelta;
      w1=y1; z1=x1; w2=y2, z2=x2;    //w=y, z=x
      }
 
   if(w1 > w2)                       //if backwards w
      {
      t=w1; w1=w2; w2=t;             //   swap (w1,z1)
      t=z1; z1=z2; z2=t;             //   with (w2,z2)
      }
   for(w=w1; w<=w2; w++)            
      {
      z = static_cast<int>(z1 + slope * (w-w1));
      if( !(w==80 && z==25) )        //avoid scroll at 80,25
         {
         if(isMoreHoriz)
            set_cursor_pos(w, z);
         else
            set_cursor_pos(z, w);
         putch(fill_char);
         }
      }
   }
//--------------------------------------------------------------
void draw_pyramid(int x1, int y1, int height)
   {
   int x, y;
   for(y=y1; y<y1+height; y++)
      {
      int incr = y - y1;
      for(x=x1-incr; x<=x1+incr; x++)
         {
         set_cursor_pos(x, y);
         putch(fill_char);
         }
      }
   }
//--------------------------------------------------------------
void set_fill_style(fstyle fs)
   {
   switch(fs)
      {
      case SOLID_FILL:  fill_char = '\xDB'; break;
      case DARK_FILL:   fill_char = '\xB0'; break;
      case MEDIUM_FILL: fill_char = '\xB1'; break;
      case LIGHT_FILL:  fill_char = '\xB2'; break;
      case X_FILL:      fill_char = 'X';    break;
      case O_FILL:      fill_char = 'O';    break;
      }
   }
//--------------------------------------------------------------
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.10.2011, 06:19
Здравствуйте! Я подобрал для вас темы с ответами на вопрос невозможно преобразовать параметр 1 из "const char [8]" в "LPCWSTR" (C++):

Ошибка 6 error C2664: strtok: невозможно преобразовать параметр 1 из "const char *" в "char *" - C++
string s = &quot;555 44 55 66&quot;;//размер строки заранее неизвестен char* p = strtok(s.c_str(), ' '); не нравится такое...

error C2664: strcmp: невозможно преобразовать параметр 1 из "char (*)[20]" в "const char *" - C++
for(int i = 0; i&lt; 5; i++) { wr_struc (list); if (strcmp(&amp;list.Sostav,osn_sostav)==0 &amp;&amp; strcmp(&amp;list.MestoVkomande,attack)==0...

Невозможно преобразовать параметр 1 из "const wchar_t [12]" в "const char *" - C++
Писал программу. Дошел до наложения текстур. Пытаюсь наложить 4-й час. Много разных ошибок. Все ошибки гуглил. На данный момент ошибка...

Невозможно преобразовать параметр 2 из "char" в "const char *" - C++
Ошибка strcpy: невозможно преобразовать параметр 2 из &quot;char&quot; в &quot;const char *&quot; //удаления из первой строки всех символов, встречающихся...

Error C2440: return: невозможно преобразовать "const char *" в "const char (&)[6]" - C++
Вроде все правильно а все равно не работает. Подскажите в чем ошибка #include &lt;iostream&gt; template&lt;typename T&gt; inline const T...

Error C2664: RegisterClassW: невозможно преобразовать параметр 1 из "WNDCLASSEX *" в "const WNDCLASSW *" - C++
почему выдаёт ошибку? int RegClass(WNDPROC Proc,LPCTSTR szName,UINT brBackground){ WNDCLASSEX wc; ...

6
Евгений М.
1035 / 976 / 54
Регистрация: 28.02.2010
Сообщений: 2,829
Завершенные тесты: 2
07.10.2011, 07:34 #2
Код не читал.
Попробуйте из такого:
C++
1
"blablbalbalbal"
изменить на такое:
C++
1
L"blablbalbalbal"
2
Sylvos
-25 / 6 / 1
Регистрация: 06.04.2011
Сообщений: 85
07.10.2011, 18:18  [ТС] #3
Цитата Сообщение от Евгений М. Посмотреть сообщение
Код не ко ко ко ко.
Попробуйте из ко ко ко ко ко ко:
C++
1
"кукаре"
изменить на такое:
C++
1
L"кококококо"
 Комментарий модератора 
пункт 3.2
0
Jupiter
Каратель
Эксперт С++
6556 / 3977 / 227
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
07.10.2011, 18:39 #4
Цитата Сообщение от Sylvos Посмотреть сообщение
Я написал плохое сообщение
Sylvos, лучше бы пользовались поиском, тема подымалась и обсуждалась сотни раз
0
Sylvos
-25 / 6 / 1
Регистрация: 06.04.2011
Сообщений: 85
07.10.2011, 19:33  [ТС] #5
Все разобрался
Вместо
C++
1
hConsole = CreateFile("CONOUT$", ...............);
Надо было
C++
1
hConsole = CreateFile((LPCWSTR)"CONOUT$", ...............);
0
OstapBender
583 / 522 / 35
Регистрация: 22.03.2011
Сообщений: 1,585
07.10.2011, 20:17 #6
молодец, это тож самое что во 2 сообщении
1
Stic
0 / 0 / 0
Регистрация: 07.10.2011
Сообщений: 5
07.10.2011, 22:39 #7
Sylvos, Привет!
Извини что не в тему - нет возможности писать личные сообщения.
Мне нужна помощь по подкидному дураку на Си, если не сложно ответь на i.radisheff@yandex.ru
Твой код я видел в ветке Не могу понять где ошибка ? есть несколько вопросов про него и про саму эту работу. За дельную помощь без вознаграждения не оставлю!

E-mail: i.radisheff@yandex.ru
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.10.2011, 22:39
Привет! Вот еще темы с ответами:

Преобразовать параметр из "WCHAR [260]" в "const char *" - C++
Подскажите пожалуйста, как &quot; преобразовать параметр из &quot;WCHAR &quot; в &quot;const char *&quot;&quot;? Вот,по коду я думаю понятно будет. Если поставить...

Ошибка при сборке многофайлового проекта: "невозможно преобразовать "int" в "const golf" - C++
Сделал многофайловую программу программу, вот она: //golf.h #include &lt;iostream&gt; #ifndef golg_h_ #define golf_h_ const int Len =...

Где ошибка невозможно преобразовать указатель "this" из "const pers" в "pers &" при выводе объектов через cout - C++
Добрый день! Переписал код из книг Лафоре, создание мультимножества из собственных объектов- справочник телефонный, с именем и фамилией. ...

Невозможно преобразовать "const char" в "char" - C++
Вот код: void vvod() { char name_of_file; int i; char linetype1; char linetype2; int razmer_pera; struct colour {


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Yandex
Объявления
07.10.2011, 22:39
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru