Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Преобразование типа к wchar_t, Ошибка комплятора, не могу преобразовать 
:(
    Опции темы
Razar
Дата 6.5.2009, 21:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 23
Регистрация: 17.2.2008

Репутация: нет
Всего: нет



В хидерном файле у меня определены 2 структуры, в Beg я записываю информацию полученную от диалогового окна, потом обрабатываю
(вычисляю возраст студента) и перевожу возраст в TCHAR (wchar_t)
по заданию нужно в TCHAR*
Код

struct StudBeg {    
                TCHAR fam[NF];    // фамилия студента
                                                TCHAR imia[NI];    // его имя
                UINT godRojd;               // его год рождения
           };

struct StudEnd {    
                TCHAR fam[NF];    // фамилия студента 
                TCHAR imia[NI];    // его имя
                                           TCHAR let[NL];                // возраст 
            };


далее по тексту делаю это:
Код

studEnd.let=(TCHAR*)let;


и вылезает сначала предупреждение, потом сама ошибка.
Вся работа стопорится, поиск насиловал просто, не то что использовал)

  • warning C4312: 'type cast' : conversion from 'int' to 'wchar_t *' of greater size
  • error C2440: '=' : cannot convert from 'wchar_t *' to 'wchar_t [5]'


PM MAIL   Вверх
J0ker
Дата 6.5.2009, 22:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 986
Регистрация: 17.9.2008

Репутация: 9
Всего: 14



уясните разницу между укаателями и массивами


--------------------
user posted image
PM MAIL   Вверх
Razar
Дата 7.5.2009, 09:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 23
Регистрация: 17.2.2008

Репутация: нет
Всего: нет



нужно из int выделять по числу и складывать в массив?
PM MAIL   Вверх
J0ker
Дата 7.5.2009, 16:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 986
Регистрация: 17.9.2008

Репутация: 9
Всего: 14



телепатия сегодня плохо работает
не вижу какого типа переменная ::let

Это сообщение отредактировал(а) J0ker - 7.5.2009, 16:44


--------------------
user posted image
PM MAIL   Вверх
Razar
Дата 7.5.2009, 16:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 23
Регистрация: 17.2.2008

Репутация: нет
Всего: нет



int, если поможет:

Код

Union obrabotkaInfo(const StudBeg& studBeg)
{
    TCHAR bufer[3];
    StudEnd studEnd={L" ",0};
    Union u;
    // получить текущую дату - текущий год newtime.tm_year+1900
        char buf[26];
        time_t ltime;
        time( &ltime );
        errno_t    err = ctime_s( buf, 26, &ltime );
        // struct tm 
            tm  newtime;
        _localtime64_s( &newtime, &ltime );
         int let=0;
    // вычисление возраста относительно текущего года
        if(studBeg.godRojd)
            let = (newtime.tm_year+1900) - studBeg.godRojd;
    
        
Код

if(let > 0 && studBeg.godRojd >=1970)
        {
                bufer[0]=(TCHAR)(let/10);
                bufer[1]=(TCHAR)(let%10);
                bufer[2]='\0';
        }
            *studEnd.let=*bufer;



        Clear(u);
        wcsncpy(u.studEnd.fam, studBeg.fam,  sizeof(studEnd.fam) );
        wcsncpy(u.studEnd.imia, studBeg.imia, sizeof(studEnd.imia) );
        wcsncpy(u.studEnd.let, studEnd.let, sizeof(studEnd.let) );
        return u;
} 


переделал часть, хз как еще ><
PM MAIL   Вверх
J0ker
Дата 7.5.2009, 17:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 986
Регистрация: 17.9.2008

Репутация: 9
Всего: 14



если вам нужно преобразовать число в строку, то используйте функции конвертации типа itoa
а вообще лучше изучите представление данных

Добавлено через 1 минуту и 31 секунду
_itow для wchar_t


--------------------
user posted image
PM MAIL   Вверх
Razar
Дата 7.5.2009, 17:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 23
Регистрация: 17.2.2008

Репутация: нет
Всего: нет



спасибо, так и поступлю=)
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0445 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.