Форум программистов, компьютерный форум, киберфорум
C++/CLI
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.55/11: Рейтинг темы: голосов - 11, средняя оценка - 4.55
0 / 0 / 0
Регистрация: 09.09.2013
Сообщений: 26

Ошибка в ".c_str"

09.09.2013, 22:56. Показов 2267. Ответов 16
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день. Имеется следующая строка:
C++
1
2
String ^endStartGame = "papaparam";
CreateProcess("max.exe", endStartGame.c_str(), NULL,NULL, FALSE, DETACHED_PROCESS | CREATE_SUSPENDED, NULL, NULL, &cif, &pi))
Проблема здесь заключается в endStartGame.c_str(), ибо на нее ругается компилятор.
error C2228: left of '.c_str' must have class/struct/union
Как исправить ошибку? Все это дело происходит в обработчике
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
09.09.2013, 22:56
Ответы с готовыми решениями:

X=atof(s.c_str()); - ошибка в Builder10
Здравствуйте ! Помогите, пожалуйста, чайнику. Проблема такая: Создаю учебный проект простого калькулятора. Обработчик щелчка по...

string, c_str
функция string.c_str() возвращает const char*, что бы не изменяли строку напрямую. Но! Если явно преобразовать указатель к char*, то строка...

Функция c_str()
Здравствуйте, Подскажите пожалуйста, правильно ли я понимаю принцип работы функции c_str() ? Я понял вот так: string...

16
Каратель
Эксперт С++
6610 / 4029 / 401
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
09.09.2013, 23:03
Defigod, вместо CreateProcess используй System.Process.Start
0
0 / 0 / 0
Регистрация: 09.09.2013
Сообщений: 26
09.09.2013, 23:05  [ТС]
Цитата Сообщение от Jupiter Посмотреть сообщение
Defigod, вместо CreateProcess используй System.Process.Start
Еще больше ошибок.
error C2882: 'System' : illegal use of namespace identifier in expression
error C2228: left of '.Process' must have class/struct/union
error C2228: left of '.Start' must have class/struct/union
error C2228: left of '.c_str' must have class/struct/union
0
Каратель
Эксперт С++
6610 / 4029 / 401
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
09.09.2013, 23:10
C++
1
2
3
using namespace System::Diagnostics;
...
Process::Start("max.exe", endStartGame);
0
0 / 0 / 0
Регистрация: 09.09.2013
Сообщений: 26
09.09.2013, 23:11  [ТС]
Цитата Сообщение от Jupiter Посмотреть сообщение
C++
1
2
3
using namespace System::Diagnostics;
...
Process::Start("max.exe", endStartGame);
А остальные параметры я куда припишу? Они крайне важны и их нельзя просто так отбросить.
0
Каратель
Эксперт С++
6610 / 4029 / 401
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
09.09.2013, 23:17
Цитата Сообщение от Defigod Посмотреть сообщение
А остальные параметры я куда припишу? Они крайне важны и их нельзя просто так отбросить.
если важны, так и изучай доку.
Цитата Сообщение от Defigod Посмотреть сообщение
String ^
не имеет метода c_str
0
0 / 0 / 0
Регистрация: 09.09.2013
Сообщений: 26
09.09.2013, 23:19  [ТС]
А как тогда в CreateProcess вывести String вторым параметром, не трогая другие?
0
Каратель
Эксперт С++
6610 / 4029 / 401
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
09.09.2013, 23:20
Цитата Сообщение от Defigod Посмотреть сообщение
А как тогда в CreateProcess вывести String вторым параметром, не трогая другие?
прежде чем спрашивать надо гуглить
Конвертация строк: System::String в массив char/wchar_t, std::string и обратно
0
0 / 0 / 0
Регистрация: 09.09.2013
Сообщений: 26
09.09.2013, 23:24  [ТС]
Цитата Сообщение от Jupiter Посмотреть сообщение
Ты скажи русским языком-то. То есть ты предлагаешь перевести String в char и для char будет работать ".c_str()". Я верно тебя понимаю?
0
Каратель
Эксперт С++
6610 / 4029 / 401
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
09.09.2013, 23:26
Цитата Сообщение от Defigod Посмотреть сообщение
То есть ты предлагаешь перевести String в char и для char будет работать ".c_str()".
char это простой тип, у него нет методов вообще.
c_str есть у std::string
0
0 / 0 / 0
Регистрация: 09.09.2013
Сообщений: 26
09.09.2013, 23:28  [ТС]
Цитата Сообщение от Jupiter Посмотреть сообщение
char это простой тип, у него нет методов вообще.
c_str есть у std::string
То есть, если я применю эту фитчу для моей строки, то проблема исчезнет?
0
Каратель
Эксперт С++
6610 / 4029 / 401
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
09.09.2013, 23:36
Цитата Сообщение от Defigod Посмотреть сообщение
То есть, если я применю эту фитчу для моей строки, то проблема исчезнет?
не та ссылка, вот эта

Добавлено через 53 секунды

Не по теме:

Цитата Сообщение от Defigod Посмотреть сообщение
то проблема исчезнет?
ваш код скомпилируется, но я бы не назвал это решением проблемы, ваша проблема это CreateProcess в .NET проекте

0
0 / 0 / 0
Регистрация: 09.09.2013
Сообщений: 26
09.09.2013, 23:48  [ТС]
Цитата Сообщение от Jupiter Посмотреть сообщение
не та ссылка, вот эта

Добавлено через 53 секунды

Не по теме:


ваш код скомпилируется, но я бы не назвал это решением проблемы, ваша проблема это CreateProcess в .NET проекте

Вроде бы как исправил, но появилась другая ошибка.
error C2664: 'CreateProcessA' : cannot convert parameter 2 from 'const char *' to 'LPSTR'
Что с ней можно сделать? )
0
Каратель
Эксперт С++
6610 / 4029 / 401
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
09.09.2013, 23:52
Цитата Сообщение от Defigod Посмотреть сообщение
Что с ней можно сделать? )
в свойствах проекта выключи юникод
0
0 / 0 / 0
Регистрация: 09.09.2013
Сообщений: 26
09.09.2013, 23:54  [ТС]
Цитата Сообщение от Jupiter Посмотреть сообщение
в свойствах проекта выключи юникод
У меня уже стоит MultiByte CharacterSet. Куда еще выключать? )
0
Каратель
Эксперт С++
6610 / 4029 / 401
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
09.09.2013, 23:57
значит ваша затея с c_str провальна изначально, возвращаемся к посту номер 2 и 6
0
0 / 0 / 0
Регистрация: 09.09.2013
Сообщений: 26
10.09.2013, 00:00  [ТС]
CreateProcess я изначально трогать не могу. Если не использовать c_str, то как передать в CreateProcess string?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
10.09.2013, 00:00
Помогаю со студенческими работами здесь

Не работает преобразование с c_str()
Доброго времени суток. Пытаюсь определить расширение найденного файла путем сравнения со строкой: if(NULL !=...

Text.c_str(); - непонятно!
Что обозначает эта добавочка - .c_str() ?????? int n=0; int current; string T, K, M, C, V, G; String strToStr(string Sn){ ...

.c_str() зачем это?
Извините, не знаю как называется, когда мы задаем какой то переменной текст, мы например пишем string str2 ="Привет"; А когда...

Буффер из std::string c_str()
Здравствуйте! такое дело: Проект на Qt5 и С++11. Есть форма с полем ввода. Введённое содержимое должно обработаться отдельным потоком...

Нужен код функции c_str()
Нужен код функции c_str(), так как в моем RAD Studio XE3 - баг, она возвращает wchar_t*, вместо char*. Дайте либо код рабочей версии...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Первый деплой
lagorue 16.01.2026
Не спеша развернул своё 1ое приложение в kubernetes. А дальше мне интересно создать 1фронтэнд приложения и 2 бэкэнд приложения развернуть 2 деплоя в кубере получится 2 сервиса и что-бы они. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит: токи, напряжения и их 1 и 2 производные при t = 0;. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru