Я пытаюсь отправить вход из командной строки в свою основную функцию. Вход затем отправляется в функции checkNum и т.д.Попытка получить звездочку * в качестве входного сигнала из командной строки
int main(int argc, char *argv[])
{
int x = checkNum(argv[1]);
int y = checkNum(argv[3]);
int o = checkOP(argv[2]);
…
}
Предполагается, что калькулятор так, например, в командной строке, когда я пишу:
program.exe 4 + 2
и это даст мне ответ 6 (код для этого не включен).
Проблема заключается в том, когда я хочу, чтобы умножать и я тип, например
program.exe 3 * 4
Похоже, что это создает указатель (или что-то, не совсем уверен) вместо того, чтобы дать мне указатель обугленного к полукоксу ' *
'.
Вопрос: могу ли я получить вход «*
», чтобы вести себя так же, как при вводе «+»?
Редактировать: Запись "*"
в командной строке работает. Есть ли способ, когда мне нужно только ввести *
?
Код работает под управлением Windows, что, как представляется, является частью проблемы.
try '3" * "4', если это работает, это не ваша проблема, а проблема вашего терминала/командной строки. в этом случае рассмотрите возможность ввода всего выражения в виде одной строки в кавычках ... – BeyelerStudios
Возможно, вам придется процитировать ее. Например: 'program.exe 3" * "4'. Конечно, вам нужно будет делать в Unix (включая Linux и OS X), потому что '*' имеет специальное соответствие шаблону для оболочки. Ваше имя программы предполагает, что вы работаете в Windows, и там * * используется *, чтобы программы отвечали за выполнение собственного подталкивания. Возможно, это изменилось. –
Спасибо за ваш ответ! Я пробовал это, и он работает, так что теперь вопрос в том, можно ли обойтись без написания «». Будет ли редактировать сообщение – Frostbite