Какая система нумерации используется терминалом при выводе в скрипт - PullRequest
0 голосов
/ 23 марта 2019

В настоящее время я изучаю программирование на C и написал скрипт, похожий на тот, что я писал на Python раньше.Моя цель - научиться передавать входные данные приложению и обрабатывать передаваемые мной данные.

Проблема, с которой я столкнулся сейчас, - это обратная связь, которую дает мне мое заявление.Я написал простое приложение для чтения ввода с клавиатуры и дал 1 из 3 ответов в зависимости от того, какой ввод я им предоставляю.Код выглядит следующим образом:

/*Input test.*/

#include<stdio.h>
#include<stdlib.h>


char input;
const int option_a = 1;
const int option_b = 2;


int main()
{

    printf("Lets get started! a for on or b for off?\n");
    while(1)
    {
        input = getchar();
        if(input == option_a)
        {
            printf("We're on.!\n");
        }
        else if(input == option_b)
        {
            printf("Off we go.\n");
        }
        else
        {
            printf("Excuse me, but I didn't get that.\n");
        }
    }
    return 0;
}

Просто option_a - это то, что я нажимаю клавишу 1 на клавиатуре, а option_b - клавишу 2. Когда я нажимаю эти клавиши или любую клавишу в этом отношении, приложение всегда будет работать.в «остальное» часть дерева решений.Сказав это, мне ясно, и я скажу с отсутствием лучшего термина / выражения, что мое приложение не видит мой ввод как десятичное число 1 или 2.

из терминалаКакова структура данных, которые я отправляю в свое приложение, или, проще говоря, как «1» или «2» выглядят в моем приложении?

Ответы [ 2 ]

0 голосов
/ 15 июня 2019

Полагаю, вы хотите найти таблицу Американского стандартного кода для обмена информацией (ASCII). 0 = 48, 1 = 49, 2 = 50, ... У меня возникла та же проблема при работе с серийным монитором Arduino, и все это должно соответствовать одному и тому же стандарту.

0 голосов
/ 03 апреля 2019

Когда вы принимаете ввод с помощью getchar(), вы получаете значение char.Но вы сравниваете это с целым числом.Вместо сравнения с целым числом вы можете сравнить ввод с соответствующими символами.Например, используйте

const char option_a = '1';
const char option_b = '2';
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...