Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.03.2013, 15:23   #1
temik612
Пользователь
 
Регистрация: 01.07.2012
Сообщений: 21
Печаль Преобразование типов один из которых массив

Вообщем такая проблема уже долго мучаюсь и поэтому решил написать
мне надо из textBox переместить введённые пользователем данные в char Login[13] но при любой попытке это сделать у меня массив остаётся пустым
или пишет ошибку компилятор...
temik612 вне форума Ответить с цитированием
Старый 15.03.2013, 15:29   #2
Abstraction
Старожил
 
Аватар для Abstraction
 
Регистрация: 25.10.2011
Сообщений: 3,178
По умолчанию

Здравствуйте. Вы обратились на форум телепатов. Подождите некоторое время, пока автоматический телепатический процессор восстанавливает полный текст ошибки, приводимой Вашим компилятором и порождающий её код программы.
Спасибо.
Abstraction вне форума Ответить с цитированием
Старый 15.03.2013, 15:39   #3
temik612
Пользователь
 
Регистрация: 01.07.2012
Сообщений: 21
По умолчанию

PHP код:
charStringToChar(System::Stringstr)
{
        
charch;
        
pin_ptr<const wchar_twch PtrToStringChars(str);
        
size_t convertedChars 0
        
size_t  sizeInBytes = ((str->Length 1) * 2); 
        
ch = (char *)malloc(sizeInBytes); 
        
wcstombs_s(&convertedCharschsizeInByteswchsizeInBytes);
        return 
ch;
}



private: 
System::Void button1_Click(System::Object^  senderSystem::EventArgs^  e
             {
        if(!
GetPrivateProfileIntA("Launcher","use",0,".\\launcher.ini"))
        {
           
char logstr;
           
char passstr;
           
logstr=StringToChar(textBox1->Text);
           
g_Main.szLogin=passstr;
            
szLogin[12]=0;
            
szPassword[12]=0;
        }
        else 
        {
        
GetPrivateProfileStringA("Launcher","Login","NoLogin",g_Main.szLogin,12,".\\launcher.ini");
        
GetPrivateProfileStringA("Launcher","Password","NoLogin",g_Main.szPassword,12,".\\launcher.ini");
        }
                       
     if(!
g_Main.Init())ExitProcess(0);
     
g_Main.CheckLoginConnection();
     while(!
bExit)
     {
        
g_Main.MainLoop();
        
//Sleep(1);
        
HWND Wind FindWindow(0,"win");
        if (
Wind !=0)
        {
        
ExitProcess(0);
        }
     }


             } 


ошибки выдаваемые компилятором
невозможно преобразовать "char *" в "char [13]"
1>------ Построение начато: проект: RFLauncher, Конфигурация: Release Win32 ------
1> RFLauncerForm.cpp
1>c:\users\justnuke\desktop\мои исходники\c++ мои исходники\лаунчер\rflauncher_consol e\Form1.h(152): error C2440: =: невозможно преобразовать "char *" в "char [13]"
1> Не существует преобразований в типы массивов, хотя существуют преобразования в ссылки или указатели на массивы
========== Построение: успешно: 0, с ошибками: 1, без изменений: 0, пропущено: 0 ==========

Последний раз редактировалось temik612; 15.03.2013 в 15:47.
temik612 вне форума Ответить с цитированием
Старый 15.03.2013, 15:47   #4
Abstraction
Старожил
 
Аватар для Abstraction
 
Регистрация: 25.10.2011
Сообщений: 3,178
По умолчанию

Вы пытаетесь записать адрес указателя passstr (локальной переменной) в качестве значения g_Main.szLogin и чему-то удивляетесь? Ваше счастье, что компилятор это не пропустил.
Код:
passstr = g_Main.szLogin;
Вот так ещё можно - после этого passstr начнёт указывать на начало массива g_Main.szLogin.
Поскольку смысл производимых манипуляций от меня ускользает, а сочетание malloc и System::Object^ вгоняет в когнитивный диссонанс, никаких советов конструктивнее дать не могу.
Abstraction вне форума Ответить с цитированием
Старый 15.03.2013, 16:05   #5
temik612
Пользователь
 
Регистрация: 01.07.2012
Сообщений: 21
По умолчанию

Вы просто попросили кодинг вот я выложил...
Мне надо вот что..
1)Пользователь вводит что то в textBox
2)после нажимает на кнопку
3)и то что было в textBox переходит в массив szLogin[12]
далее логин отправляется серверу и тд

мне надо шаг 3 выполнить... очень надо
temik612 вне форума Ответить с цитированием
Старый 15.03.2013, 16:49   #6
Abstraction
Старожил
 
Аватар для Abstraction
 
Регистрация: 25.10.2011
Сообщений: 3,178
По умолчанию

Посмотрите в сторону функций strncpy/memcpy, что ли. Вам же нужно скопировать сами данные из одного места в другое, а не просто перенаправить указатель...
Abstraction вне форума Ответить с цитированием
Старый 15.03.2013, 21:38   #7
temik612
Пользователь
 
Регистрация: 01.07.2012
Сообщений: 21
По умолчанию

спс большое использовал strncpy и всё удалось
temik612 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
преобразование типов яз СИ Танчик007 Помощь студентам 0 03.05.2011 18:57
преобразование типов Танчик007 Общие вопросы C/C++ 0 03.05.2011 15:39
Преобразование типов Ra88 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 4 22.07.2010 02:56
Си. Преобразование типов pif Помощь студентам 3 20.04.2009 13:54
преобразование типов в Си HoOpe Помощь студентам 5 11.03.2009 21:58