Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Аргументы командной строки, Искажаются и не работают 
:(
    Опции темы
UndeadBlow
Дата 17.4.2012, 23:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Добра всем.
Учусь использовать передачу аргументов командной строки в программу, в плане вроде учиться нечему, но не срабатывает, почему-то искажает, причем вроде не только при выводе, в самой программе тоже не так как надо определяются.
Кодировку пробовал шаманить, не помогает. 
Подскажите, пожалуйста.

Результат при аргументах A B C /n:
user posted image

Сам код, естественно, пробный и максимально примитивен.
Код

int main(int argc,char* argv){
      int i; 
    for (i = 0; i < argc; i++)  cout << "argv[" << i << "] is  " << argv[i] << endl;
    getch();
}


Это сообщение отредактировал(а) UndeadBlow - 17.4.2012, 23:52
PM MAIL   Вверх
volatile
Дата 18.4.2012, 00:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2107
Регистрация: 7.1.2011

Репутация: 16
Всего: 85



Всё теже грабли, как всегда...
В свойствах проекта убрать "юникодный".
PM MAIL   Вверх
UndeadBlow
Дата 18.4.2012, 00:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата(volatile @ 18.4.2012,  00:02)
Всё теже грабли, как всегда...
В свойствах проекта убрать "юникодный".

Поставил No Set, все так же.
user posted image
PM MAIL   Вверх
volatile
Дата 18.4.2012, 00:19 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2107
Регистрация: 7.1.2011

Репутация: 16
Всего: 85



Цитата(UndeadBlow @  17.4.2012,  23:45 Найти цитируемый пост)
int main(int argc,char* argv)


int main(int argc, char* argv[])


PM MAIL   Вверх
UndeadBlow
Дата 18.4.2012, 00:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата(volatile @ 18.4.2012,  00:19)
Цитата(UndeadBlow @  17.4.2012,  23:45 Найти цитируемый пост)
int main(int argc,char* argv)


int main(int argc, char* argv[])

Спасибо, помогло.
Вы не могли бы объяснить мне структуру происходящего? Почему необходимы скобки? В обычных функциях у меня всегда нормально массив передавался просто через указатель. И еще, как обращаться теперь к переданным аргументам?
Так вот
Код

if(*argv[1]=='z')cout<<"its Works";

Не реагирует.
PM MAIL   Вверх
boostcoder
Дата 18.4.2012, 01:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


Профиль
Группа: Завсегдатай
Сообщений: 5458
Регистрация: 1.4.2010

Репутация: 20
Всего: 110



Цитата(UndeadBlow @  18.4.2012,  00:57 Найти цитируемый пост)
Почему необходимы скобки?

потому что это указатель на указатель. т.е. двумерный массив.
можно записать и так: int main(int argc, char **argv);
что, по моему мнению - понятней.

Добавлено через 59 секунд
Цитата(UndeadBlow @  18.4.2012,  00:57 Найти цитируемый пост)
Не реагирует. 

а должен.
и счет начинается с нуля.

PM WWW   Вверх
borisbn
Дата 18.4.2012, 10:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 4875
Регистрация: 6.2.2010
Где: Ростов-на-Дону

Репутация: 21
Всего: 135



Цитата(UndeadBlow @  17.4.2012,  23:45 Найти цитируемый пост)
int main(int argc,char* argv){


мдаааа. мелкомягкие как всегда идут своим путём. такое вообще не должно было скомпилироваться. вернее линковщик должен был не найти "праильную" ф-цию main



--------------------
Женщины отличаются от программистов тем, что у них чары состоят из стрингов
PM MAIL Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


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

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




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


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

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