|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
13.07.2011, 09:39 | #1 |
Участник клуба
Регистрация: 04.04.2010
Сообщений: 1,554
|
Аргументы командной строки в студии.
int _tmain(int argc, _TCHAR* argv[])
{ cout<<"argc : "<<argc<<endl; cout<<"a1 : "<<argv[1]<<endl; cout<<"a2 : "<<argv[2]<<endl; cout<<"a3 : "<<argv[3]<<endl; .............. Запускаю как program.exe argument вывод: argc : 2 a1 : 00345108 a2 : 00000000 a3 : 006F0062 Чё это майкрософтовцы намудрили, и как аргументы получить? Последний раз редактировалось the_deer_one; 13.07.2011 в 09:43. |
13.07.2011, 10:26 | #2 |
Пользователь
Регистрация: 08.05.2011
Сообщений: 42
|
нумерация идет с 0, а не с 1 (либо вам так нужно?)
то, что у вас показывает - это адреса указателей вот так все выводит норм printf("%s", argv[0]); Код:
Последний раз редактировалось rustx88; 13.07.2011 в 10:31. |
13.07.2011, 10:34 | #3 |
Software Engineer
Участник клуба
Регистрация: 07.04.2007
Сообщений: 1,618
|
Это вы что-то намудрили.
Код:
Мужество есть лишь у тех, кто ощутил сердцем страх, кто смотрит в пропасть, но смотрит с гордостью в глазах. (с) Ария
|
13.07.2011, 11:27 | #4 |
Участник клуба
Регистрация: 04.04.2010
Сообщений: 1,554
|
То как вы написали работает в mingw/g++, а в студии если я этот их _TCHAR* заменю на char* то при исполнении вылетает ошибка: "инструкция обратилась по левому адресу".
Макимум если я сделаю приведение cout<<"a1 : "<<(char*)argv[1]<<endl; Я получу тока первый символ параметра и всё. |
13.07.2011, 11:34 | #5 |
Участник клуба
Регистрация: 04.04.2010
Сообщений: 1,554
|
В принципе можно _tmain() на main заменить и всё будет работать, но хотелось бы знать как можно делать в vs-шном случае.
|
13.07.2011, 11:49 | #6 |
Форумчанин
Регистрация: 26.10.2009
Сообщений: 170
|
а во что у вас _TCHAR резолвится? если это wchar_t, то вам нужет std::wcout вместо cout
|
13.07.2011, 13:58 | #7 |
Старожил
Регистрация: 19.08.2009
Сообщений: 2,119
|
the_deer_one
Чё это майкрософтовцы намудрили ага, мечтай :lol: 1. гоогле STL unicode, первая ссылка 2. найти там cout 3. фтыкать ... PROFIT!
А вы почему со мной не соглашаетесь, у вас что, импотенция? (c) ACE Valery
|
11.03.2012, 22:20 | #8 |
Старожил
Регистрация: 16.12.2011
Сообщений: 2,329
|
вопрос: Как запустить приложение с аргументами, но не из командной строки, а из самой студии?
В QtCreator есть специальная няшка - указываешь аргументы командной строки в свойствах проекта, и запускаешь как обычно из IDE Есть что-то подобное в студии? Уже не актуально. Если кому интересно: В VS 2005 и 2008 аргументы командной строки прописываются в Project -> Properties -> Configuration Properties -> Debugging -> Command Arguments. Последний раз редактировалось _Bers; 11.03.2012 в 22:41. |
11.03.2012, 22:43 | #9 | |
Форумчанин
Регистрация: 11.07.2010
Сообщений: 914
|
Цитата:
В свойствах конфигурации>>отладка |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Аргументы командной строки | Sadist989 | Общие вопросы C/C++ | 9 | 22.06.2011 12:53 |
аргументы командной строки | ololo-schoolboy | Общие вопросы C/C++ | 2 | 19.05.2011 22:50 |
аргумент командной строки | DeFace | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 5 | 06.09.2010 22:10 |
Аргументы командной строки в Boost.test | nazavrik | Общие вопросы C/C++ | 0 | 18.02.2010 17:23 |
Выполнение командной строки | z3rg | Общие вопросы C/C++ | 4 | 17.04.2009 22:26 |