18 / 1 / 0
Регистрация: 28.02.2017
Сообщений: 110
|
|
1 | |
Как принять в функции main неопределенное количество параметров?26.07.2017, 16:52. Показов 1870. Ответов 22
Метки нет (Все метки)
Добрый день)
Нужно что бы функция main принимала от одного до трех параметров в виде маcсива значений { 0x1d ,0x72, 0x01} Вызов происходил из консоли
0
|
26.07.2017, 16:52 | |
Ответы с готовыми решениями:
22
Как просмотреть содержимое параметров функции main? Передача параметров функции в main() Передать целый массив в качестве входных параметров для функции main()? что такое int argc, char *argv[] в качестве параметров главной (main) функции? |
Модератор
13507 / 10757 / 6412
Регистрация: 18.12.2011
Сообщений: 28,714
|
|||||||||||
26.07.2017, 17:03 | 2 | ||||||||||
Сообщение было отмечено SatanaXIII как решение
Решение
у main есть 2-й стандартный вариант
argv - адреc массива содержащего строки со словами. Причем, нулевая строка содержит полный адрес вызова программы. т.е. если вызов был
argv[0]="c:\datafolder\myprog.exe" argv[1]= "0x1d" argv[2]= "0x72" argv[3]= "0x01"
0
|
18 / 1 / 0
Регистрация: 28.02.2017
Сообщений: 110
|
||||||
26.07.2017, 18:41 [ТС] | 3 | |||||
0
|
Модератор
13507 / 10757 / 6412
Регистрация: 18.12.2011
Сообщений: 28,714
|
||||||
26.07.2017, 21:12 | 4 | |||||
1
|
Диссидент
27706 / 17322 / 3812
Регистрация: 24.12.2010
Сообщений: 38,979
|
|
26.07.2017, 23:09 | 5 |
paulodelon, Вы же пытаетесь в С (С++) программировать? Попробуйте для начала разобраться с указателями. Без понимания того, что это есть такое, вы так и будете задавать нелепые вопросы и получать непонятные вам ответы.
Скажу вам по большому секрету, что указатели эти проклятые есть во всех языках программирования. Только многие языки всячески скрывают от вас их существование и использование, чтобы не терзать ваши юные и ранимые души. Но С (С++) - языки для профессионалов, и в силу этого они не прячут истинное положение вещей от вашего взора. Скажу секрет еще бОльший - без использования указателя (сиречь - адреса) все занятие программированием - совершенно бесполезное, тупое и не эффективное занятие.
1
|
18 / 1 / 0
Регистрация: 28.02.2017
Сообщений: 110
|
|||||||||||
27.07.2017, 10:11 [ТС] | 6 | ||||||||||
Спасибо за объективную критику ) Раньше на C# писал там как то указатели не часто использовались ) почитаю про указатели )
Добавлено через 47 минут из за двухмерного масива работает некорректно
0
|
18 / 1 / 0
Регистрация: 28.02.2017
Сообщений: 110
|
||||||
27.07.2017, 10:18 [ТС] | 8 | |||||
Нужно что бы значение было доступно в одномерном массиве
Добавлено через 2 минуты
0
|
18844 / 9843 / 2408
Регистрация: 30.01.2014
Сообщений: 17,285
|
||||||
27.07.2017, 10:30 | 10 | |||||
Сообщение было отмечено paulodelon как решение
Решение
В одномерном массиве какого типа?
Что-то типа этого?
2
|
18 / 1 / 0
Регистрация: 28.02.2017
Сообщений: 110
|
|
27.07.2017, 10:36 [ТС] | 11 |
Пусть программы вызывается так: prog.exe 0x1d 0x72 0x01
В переменной char inBuf[] inBuf[0] = 0x1d; inBuf[1] = 0x72; inBuf[2] = 0x01; Добавлено через 5 минут Спасибо )
0
|
Диссидент
27706 / 17322 / 3812
Регистрация: 24.12.2010
Сообщений: 38,979
|
|
27.07.2017, 10:47 | 12 |
Тьфу ты! Оказывается, аргументы должны рассматриваться как 16-ричные числа не превосходящие 255(10)
DrOffset, а strtol сработает на аргументе "0x1d" ? Не надо ли ему подать просто "1d" ? Я просто давно не пользовался этой функцией и забыл детали. Добавлено через 1 минуту Хотя пример по ссылке показывает, что все - Ok!
0
|
18844 / 9843 / 2408
Регистрация: 30.01.2014
Сообщений: 17,285
|
|
27.07.2017, 10:52 | 13 |
Наличие 0x при разборе 16-ричного представления не обязательно, но учитывается реализацией:
0
|
18844 / 9843 / 2408
Регистрация: 30.01.2014
Сообщений: 17,285
|
|
27.07.2017, 10:55 | 15 |
1
|
Диссидент
27706 / 17322 / 3812
Регистрация: 24.12.2010
Сообщений: 38,979
|
|
27.07.2017, 10:59 | 16 |
Из описания
http://cppstudio.com/post/816/ ничего извлечь не удалось Добавлено через 2 минуты DrOffset, да, все понятно. Спасибо!
0
|
18844 / 9843 / 2408
Регистрация: 30.01.2014
Сообщений: 17,285
|
|
27.07.2017, 11:01 | 17 |
То есть как? А вот:
1
|
Диссидент
27706 / 17322 / 3812
Регистрация: 24.12.2010
Сообщений: 38,979
|
|
27.07.2017, 11:08 | 18 |
Просто у меня ссылочка другая. Там более скупо.
Но вообще-то, я такие умные функции применять избегаю. Хз, что они придумают - а мне потом отвечать. Лучше уж свою попроще скострумить на скорую руку. Во всяком случае, знаешь навярняка, что от нее ждать...
0
|
18844 / 9843 / 2408
Регистрация: 30.01.2014
Сообщений: 17,285
|
|
27.07.2017, 11:24 | 19 |
0
|
18 / 1 / 0
Регистрация: 28.02.2017
Сообщений: 110
|
|
27.07.2017, 12:54 [ТС] | 20 |
Подскажите как из char sim[256](полученные байты по USB ) привести к int то есть к целому числу ?
0
|
27.07.2017, 12:54 | |
27.07.2017, 12:54 | |
Помогаю со студенческими работами здесь
20
Как создать неопределенное (т.е. не ограниченное в коде) количество экземпляров класса? Количество параметров и возвращаемых параметров у функции Неопределённое количество указателей Неопределённое количество переменных Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |