powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / System::String и std::string
24 сообщений из 24, страница 1 из 1
System::String и std::string
    #34556260
WizardI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Столкнулся с проблемой вывода строки типа std::string в один из компонент формы(например, в textBox).
Код: plaintext
1.
2.
string str="Example";
this->textBox1->Text=str;
Может кто подскажет как просто и быстро справиться с задачей?! если можно, маленький примерчик выложите.
p.s.: прогаю в VS.Net 2005.
...
Рейтинг: 0 / 0
System::String и std::string
    #34556279
ErV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WizardI wrote:

> Может кто подскажет как просто и быстро справиться с задачей?! если можно,
> маленький примерчик выложите.
у std::string есть метод .c_str() который возвращает const char* строку, которую,
скорее всего, можно буде уже использовать.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
System::String и std::string
    #34556283
Фотография blinded
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Одна беда string.c_str возвращает const char*, а String требует wchar_t
...
Рейтинг: 0 / 0
System::String и std::string
    #34556402
ErV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
blinded wrote:

> Одна беда string.c_str возвращает const char*, а String требует wchar_t
1) Был basic_string<> контейнер, который можно было бы попробовать использовать.
2) Есть функция MultiByteToWideChar, (хотя сейчас она, вроде бы, по другому называется...)
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
System::String и std::string
    #34556431
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
blinded пишет:

> Одна беда string.c_str возвращает const char*, а String требует wchar_t

string - это std::basic_string< char >
Если вам надо работать с wchar_t, в юникод-варианте (UTF16), то вам надо
использовать
wstring , который std::basic_string< wchar_t >

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
System::String и std::string
    #34557962
maXmo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
blindedОдна беда string.c_str возвращает const char*, а String требует wchar_tмой мсдн с тобой не солидарен.
...
Рейтинг: 0 / 0
System::String и std::string
    #34558382
Фотография blinded
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ты имеешь в виду System(Char*)? посмотри внутрь ссылкию Кстати идиотский вопрос А что Мелкомягкие const упрямо игнорируют?
...
Рейтинг: 0 / 0
System::String и std::string
    #34558430
maXmo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
имею в виду String(char*), он же String(SByte*), с констом да, могут быть траблы :)
...
Рейтинг: 0 / 0
System::String и std::string
    #34558463
Фотография blinded
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо, блин эти мастдаи по-человечески даже help не могут написать
...
Рейтинг: 0 / 0
System::String и std::string
    #34558488
maXmo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не знаю, у меня языковой фильтр нормально работает
...
Рейтинг: 0 / 0
System::String и std::string
    #34558493
maXmo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
или ты на сайте смотришь доки?
...
Рейтинг: 0 / 0
System::String и std::string
    #34558531
Фотография blinded
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Естественно на сайте.
...
Рейтинг: 0 / 0
System::String и std::string
    #34558541
maXmo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну на сайте не так кузяво.
...
Рейтинг: 0 / 0
System::String и std::string
    #34559232
ErV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
blinded wrote:

> Кстати идиотский вопрос А что Мелкомягкие const упрямо игнорируют?
Меня всегда больше интересовало, почему они в D3DX упорно указатели вместо ссылок используют. :)
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
System::String и std::string
    #34564369
WizardI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я что-то так и не понял, как мне вывести то..?!
...
Рейтинг: 0 / 0
System::String и std::string
    #34564647
Фотография blinded
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну примерно так
Код: plaintext
1.
2.
System::String s(const_cast<char*>(str.c_str()));
textBox1->Text=s;
...
Рейтинг: 0 / 0
System::String и std::string
    #34567714
WizardI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
У меня, правда, так и не заработало таким образом!
Зато нашел другое , похожее, решение, с помощью конвертеров:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
// Конвертация std::string в System::String^
static System::String^ StdToSys(std::string StdStr){
return gcnew System::String(StdStr.c_str());
}
// Конвертация System::String^ в std::string
//ЗЫ тут исчо #include <iostream> надо
static const std::string SysToStd(System::String^ SysStr){
using namespace Runtime::InteropServices;
char *v = (char*) (Marshal::StringToHGlobalAnsi(SysStr)).ToPointer() ;
std::string result = std::string(v);
Marshal::FreeHGlobal(System::IntPtr((void*)v));
return result;
}
и в связи с этим у меня получилось:
Код: plaintext
1.
2.
3.
System::String ^s ="";
s = StdToSys(io);
this->textBox1->Text = s;
...
Рейтинг: 0 / 0
System::String и std::string
    #34567832
Фотография blinded
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Млин мелкомягкие весь язык изгадили своим .net
тут поневоле закричишь
...
Рейтинг: 0 / 0
System::String и std::string
    #34571480
maXmo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
blindedНу примерно так
Код: plaintext
1.
2.
System::String s(const_cast<char*>(str.c_str()));
textBox1->Text=s;
низзя
...
Рейтинг: 0 / 0
System::String и std::string
    #34573203
Фотография blinded
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Почему? Во толькочто из MSDN
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
{
    string orig("Hello, World!");
    cout << orig << " (basic_string)" << endl;
...
    String ^systemstring = gcnew String(orig.c_str());
    systemstring += " (System::String)";
    Console::WriteLine("{0}", systemstring);
    delete systemstring;
}
Или опять надули?
...
Рейтинг: 0 / 0
System::String и std::string
    #34573257
maXmo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
System::Sting на стеке нельзя, только в управляемой куче, не в виндовской, в GCшной. Все managed reference-тайпы – только там.
...
Рейтинг: 0 / 0
System::String и std::string
    #34573269
maXmo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
строки там вообще на особом счету (почитай String.Intern)
...
Рейтинг: 0 / 0
System::String и std::string
    #34573302
Фотография blinded
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Все пи@#$ц языку, его мелкомягкие улучшать взялись
...
Рейтинг: 0 / 0
System::String и std::string
    #34573360
maXmo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
это не улучшение, это совместимость с legacy-кодом. Улучшение – это С#
у них есть прозрачный маршалинг String<->char*, а вот String<->std::string – уже нет.
...
Рейтинг: 0 / 0
24 сообщений из 24, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / System::String и std::string
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]