Строки и WinCE
От: Аноним  
Дата: 06.11.02 09:05
Оценка:
День добрый
При прогромировании под WinCE
возникла проблема

// WinCEAppl.cpp : Defines the entry point for the application.
//

#include "stdafx.h"

int WINAPI WinMain(    HINSTANCE hInstance,
                    HINSTANCE hPrevInstance,
                    LPTSTR    lpCmdLine,
                    int       nCmdShow)
{
     // TODO: Place code here.
    LPCWSTR Port;
    Port = "COM1";// ОШИБКА
    return 0;
}

При компиляции :
error C2440: '=' : cannot convert from 'char [5]' to 'const unsigned short *'
Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast

Кто виноват и что делать?

P.S. Если вопрос глупый то уж не бейте новичка

12.09.03 17:45: Перенесено модератором из 'C/C++' — AS
Re: Строки и WinCE
От: __Nicolay Россия  
Дата: 06.11.02 09:08
Оценка:
Здравствуйте Аноним, Вы писали:

Port = L"COM1";
Re: Строки и WinCE
От: Ed.ward Россия  
Дата: 06.11.02 09:09
Оценка:
Здравствуйте Аноним, Вы писали:

А>День добрый

А>При прогромировании под WinCE
А>возникла проблема
А>// WinCEAppl.cpp : Defines the entry point for the application.
А>//

А>#include "stdafx.h"


А>int WINAPI WinMain( HINSTANCE hInstance,

А> HINSTANCE hPrevInstance,
А> LPTSTR lpCmdLine,
А> int nCmdShow)
А>{
А> // TODO: Place code here.
А> LPCWSTR Port;
А> Port = "COM1";// ОШИБКА
А> return 0;
А>}
А>При компиляции :
А>error C2440: '=' : cannot convert from 'char [5]' to 'const unsigned short *'
А>Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast

А>Кто виноват и что делать?


А>P.S. Если вопрос глупый то уж не бейте новичка


LPCWSTR — это уникодная строка, а точнее указатель на unsigned short (unsigned short *)
а "COM1" это char *

вот он и не хочет приравнивать, либо надо написать
LPCSTR Port; //(char * )
Port = "COM1";

либо
LPCWSTR Port;
Port = L"COM1" //unsigned short *

Ed.ward
Re: Строки и WinCE
От: UgN  
Дата: 06.11.02 09:13
Оценка:
Здравствуйте Аноним, Вы писали:


А>    LPCWSTR Port;
А>    Port = "COM1";// ОШИБКА



А>    LPCWSTR Port;
А>    Port = L"COM1";// ОШИБКА


У тебя указатель на UNICODE строку, где символы занимают по 2 байта (unsignrd short)
а "COM1" — обычная строка, где символы занимают по 1 байту.
Поэтому, если тебе нужна UNICODE строка, нужно писать L"COM1"
Если строки нужны обычные, сделай указатель LPCSTR Port
Re: Строки и WinCE
От: Павел Кузнецов  
Дата: 06.11.02 09:17
Оценка:
Здравствуйте Аноним, Вы писали:

А>
А>LPCWSTR Port;
А>Port = L"COM1";// ОШИБКА
А>
Легче одурачить людей, чем убедить их в том, что они одурачены. — Марк Твен
Re: Строки и WinCE
От: Аноним  
Дата: 06.11.02 09:17
Оценка:
Спасибо огромное!!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.