Модераторы: gambit, Partizan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Преобразование System::String к std::string, и не только... 
:(
    Опции темы
Курсант
Дата 3.9.2015, 09:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 338
Регистрация: 21.2.2009
Где: Балашиха или Воро неж

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



Доброго времени суток!
У меня следующая проблема. Есть структура
Код

typedef struct {
    Data_Type_Typedef DataType;        // Тип данных параметра.
    std::string ParameterName;        // Имя параметра.
    unsigned int FirstCoeffIndex;    // Индекс элемента в общем массиве коэффициентов, являющегося первым коэффициентом данного параметра.
    unsigned int CoeffsCount;        // Число коэффициентов.
} Parameter_Info_Typedef;

typedef struct {
    unsigned int ParametersCount;    // Число параметров
    unsigned int MaxCoeffsCount;    // Максимальное число коэффициентов у параметра
    Parameter_Info_Typedef ParametersInfos[PARAMETERS_MAX_COUNT];    // Собственно массив записей параметров.
} Parameters_Struct_Typedef;


В первой структуре я использую тип std::string, в который мне нужно сохранять значения, введённые пользователем в dataGridView. Но при этом я не могу произвести преобразование System::String в std::string. Использовать в структуре System::String я тоже не могу, компилятор ругается на cannot declare a managed 'ParameterName' in an unmanaged '$UnnamedClass$0x54fc8971$23$'  may not declare a global or static variable, or a member of a native type that refers to objects in the gc heap.

Помогите, пожалуйста, засунуть системный тип в структуру, либо преобразовать System::String в std::string;

PM ICQ Skype   Вверх
leniviy
Дата 4.9.2015, 11:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Преобразовать .NET строку в массив байтов через System.Text.Encoding.GetBytes();
Результат присвоить методом std::string::assign(const char* s, size_type n), в который передается массив и его длина



Этот ответ добавлен с нового Винграда - http://vingrad.com
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


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

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Разработка Windows Forms | Следующая тема »


 




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


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

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