|
19 / 18 / 7
Регистрация: 16.05.2017
Сообщений: 447
|
|
Как преобразовать char* к std::string06.02.2021, 16:56. Показов 4031. Ответов 25
Метки нет (Все метки)
Добрый день столкнулся с проблемой. Я передаю из C# кода строку в dll написанную на C++. Аргументом функции в dll является char*, мне нужно преобразовать ее в std::string. Тут происходит точно что то не тривиальное, по тому что строка инициализируется нормальным размером и она действительно заполняется валидными данными, но вот если на ней вызвать метод c_str, то она возвращает только первую букву и VisualStudio тоже показывает только первую букву. Скриншоты прилагаю.
Что это может быть?
0
|
|
| 06.02.2021, 16:56 | |
|
Ответы с готовыми решениями:
25
Как правильно преобразовать строку std::string (массив байт) в std::char*
ошибка error: cannot convert 'std::string {aka std::basic_string<char>}' to 'std::string* {aka std::basic_stri |
|
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
|
|||||||
| 07.02.2021, 02:49 | |||||||
|
Почему LoadObject(char * ? Почему размер 79, не кратный двум ? (скорее всего последний нуль будет лишним при приведении к wchar_t*, или еще что ...) Пример конвертации , сильно не разбирался, не было необходимости.
0
|
|||||||
|
Вездепух
13210 / 6843 / 1824
Регистрация: 18.10.2014
Сообщений: 17,306
|
||
| 07.02.2021, 03:36 | ||
std::string нулевые символы. Для std::string нулевой символ не обладает никаким специальным статусом вне контекстов, связанных с С-строками.
0
|
||
| 07.02.2021, 10:01 | |||
|
Не по теме:
А вот если речь идёт о программировании на уровне железа, то без таких знаний необойтись
0
|
|||
| 07.02.2021, 10:10 | |
|
Не по теме: Recrut_rf, Спасибо за понимание.
0
|
|
|
15 / 15 / 3
Регистрация: 18.05.2019
Сообщений: 851
|
||||||
| 07.02.2021, 20:31 | ||||||
|
Конвертация из wchar_t с нулями, в string с нулями.
Строка char szStrcz[1024] = {0}; не нужна.
0
|
||||||
|
Комп_Оратор)
|
|||
| 07.02.2021, 22:23 | |||
|
BaredJJ,
Если вам удалось передать и принять char* то проблемы же уже нет ? BaredJJ, посмотрите как вы назвали тему BaredJJ, передача данных из управляемого кода в неуправляемый - вопрос достаточно сложный, но ноги растут из CLR ( C# упрощённо говоря). Тут на форуме есть раздел: https://www.cyberforum.ru/csharp-beginners/ посмотрите так же (для сугреву) : Класс Marshal, использование PInvoke, небезопасный код (unsafe) особенно от пункта 3.7 А что касается кодировок, то перевод в ANSI той кодировки, что вы используете (вы знаете какая она, надеюсь), это ваш вопрос. Но с ним уже будет легче туда же (имо).
0
|
|||
| 07.02.2021, 22:23 | |
|
ошибка в программе (cannot convert 'std::string {aka std::basic_string<char>}' to 'const char*') Как преобразовать char* в string и вывести переменную string на экран? std::getline Альтернатива для (std::string, int, char)
(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const& Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Doom для терминала без стрельбы и монстров. 3D Raycasting на ascii.
dcc0 05.07.2026
Попросил нейронную сеть deepai. org написать рейкастинг 3D с библиотекой ncurses для Linux. Чтобы можно было
ходить на стрелочки. Чтобы стены были отрисованы символами. Справилась.
Первый вариант. . .
|
Установка статуса документа по условию
Maks 05.07.2026
Алгоритм из решения ниже реализован на нетиповом документе "НарядПутевка" разработанного в КА2.
Задача: в табличной части "Материалы" документа при записи автоматически устанавливать статус. . .
|
Сезонность и суточность закисления почв
anaschu 04.07.2026
200 часов это все равно моловато. Есть ситуации, но нестандартные, когда смена происходит за 5 лет.
Но обычно это 50 лет и более.
Наверное, закисление почвы происходит сезонно в средней. . .
|
В чем ценность человеческого опыта в глобальном смысле?
kumehtar 03.07.2026
Возможно, ценность человека не в том, что он однажды достигает мудрости, а в том, что он становится носителем карты пути. Он знает не только истину, но и последовательность внутренних изменений,. . .
|
|
интеграция AnyLogic с самописным REST API и переход на Odoo
anaschu 03.07.2026
Успешная интеграция AnyLogic с самописным REST API и переход на промышленную Odoo WMS
Сегодня проделал огромный путь от простой симуляции физических процессов до построения полноценной. . .
|
Поиск всех путей на ориентированном графе. Linux
dcc0 02.07.2026
Переработка старого кода из моей статьи.
Через несколько переработок от PHP кода к C89 (надеюсь, 89).
Но довольно запутанно получилось. Код для Linux.
Но если убрать time и то, что с ним. . .
|
Сам себя обучал rest api
anaschu 02.07.2026
Педагогический лайфхак: Почему чистый REST API для ученика намного круче, чем готовые библиотеки
Когда мы отказались от капризного JAR-файла AnyLogic и переписали код на стандартный HttpClient,. . .
|
rest api anylogic - выполнение модели на своём русском сайте
anaschu 02.07.2026
Как подружиться с AnyLogic Cloud API, победить провайдеров и развернуться Java-бэкенд в Docker на бесплатном хостинге: Двухдневный лог борьбы
Всем привет! Хочу поделиться свежим (и довольно. . .
|