BlinCT
6 ноября 2019 г. 1:33

Посимвольная проверка char* ввода с клавиатуры

Всем привет.
Народ, может кто подсказать, мне надо с клавиатуры проверить в Сишном стиле варианты ввода с клавиатуры.
Например есть вариант ata, tat. И вот если человек вводит с клавиатуры один из вариантов то уже какое то дальше действие.
То есть есть переменные

  1. char tmp1[3] = "ata";

И вот как их проверять? Это чисто на си нужно.
Спасибо.

2

Вам это нравится? Поделитесь в социальных сетях!

3
Evgenii Legotckoi
  • 6 ноября 2019 г. 1:38
  • (ред.)
  • Ответ был помечен как решение.

Функция strcmp

Синтаксис:

  1. #include <string.h>
  2. int strcmp (const char *str1, const char *str2);

Аргументы:

str1, str2 – указатели на сравниваемые строки.

Возвращаемое значение:

  • 0 – если сравниваемее строки идентичны.
  • Положительное число – если строки отличаются и код первого отличающегося символа в строке str1 больше кода символа на той же позиции в строке str2.
  • Отрицательное число – если строки отличаются и код первого отличающегося символа в строке str1 меньше кода символа на той же позиции в строке str2.
  1. #include <stdio.h> // Для printf
  2. #include <string.h> // Для strcmp
  3. int main(void)
  4. {
  5. // Сравниваемые строки
  6. char str1[1024]=”12345”;
  7. char str2[1024]=”12305”;
  8.  
  9. // Сравниваем две строки
  10. if (strcmp(str1, str2) == 0)
  11. puts(“Строки идентичны”);
  12. else
  13. puts(“Строки отличаются”);
  14.  
  15. return 0;
  16. }
    BlinCT
    • 6 ноября 2019 г. 2:08

    Вот пробую сейчас именно это, но почему то все время выдает что строки идентичны
    То есть одна сонстантная а другая с клавы.

      Evgenii Legotckoi
      • 6 ноября 2019 г. 2:54

      У меня всё работает

        Комментарии

        Только авторизованные пользователи могут публиковать комментарии.
        Пожалуйста, авторизуйтесь или зарегистрируйтесь