Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Страница 2 из 4 ПерваяПервая 1 2 3 4 ПоследняяПоследняя
Показано с 11 по 20 из 35

Тема: strcmp

  1. #11
    Аватар для PawnoNoob
    Пользователь

    Статус
    Оффлайн
    Регистрация
    31.03.2016
    Сообщений
    257
    Репутация:
    3 ±
    Цитата Сообщение от $continue$ Посмотреть сообщение
    Предлагаю перед условием использовать print для вывода строки, что бы узнать что находится в ней.
    Вот.

  2. #12
    Аватар для Desulaid
    лесоруб продакшен

    Статус
    Оффлайн
    Регистрация
    15.03.2015
    Адрес
    Slobodskoy
    Сообщений
    667
    Репутация:
    236 ±
    Цитата Сообщение от PawnoNoob Посмотреть сообщение
    Хм, странный вопрос сейчас "пролетит": а если использую и то и то? Ну, как использовать этот макрос?
    Вот так?
    PHP код:
    if(strcmp(isnull(PlayerInfo[playerid][название строки]), PlayerInfo[playerid][название строки], true) == 0
    Или нет?

    И какую цель вы хотите достичь этим кодом? Сравнить пустые строки?)) А ведь он даже не скомпилируется ...
    Смысл сравнить строки есть в том случаи, если они заполнены не нулями.

    PHP код:
    new str1[7] = "Строка",
        
    str2[7] = "qwerty";
        
    if (
    isnull(str2))
    {
        print(
    "Я вызываюсь, чтобы пустые строки сравнивать чтоле?!");
    }
    else
    {
        if (!
    strcmp(str1str2))
        {
            print(
    "Строки одинаковы!");
        }
        else
        {
            print(
    "Строки разные!");
        }


  3. Пользователь сказал cпасибо:
    PawnoNoob (15.08.2016)
  4. #13
    Аватар для PawnoNoob
    Пользователь

    Статус
    Оффлайн
    Регистрация
    31.03.2016
    Сообщений
    257
    Репутация:
    3 ±
    Цитата Сообщение от Anton Styazhkin Посмотреть сообщение
    И какую цель вы хотите достичь этим кодом? Сравнить пустые строки?)) А ведь он даже не скомпилируется ...
    Смысл сравнить строки есть в том случаи, если они заполнены не нулями.

    PHP код:
    new str1[7] = "Строка",
        
    str2[7] = "qwerty";
        
    if (
    isnull(str2))
    {
        print(
    "Я вызываюсь, чтобы пустые строки сравнивать чтоле?!");
    }
    else
    {
        if (!
    strcmp(str1str2))
        {
            print(
    "Строки одинаковы!");
        }
        else
        {
            print(
    "Строки разные!");
        }

    Ну блин, не надо только прикалываться надо мной, я ведь ещё не обладаю такими знаниями в данной области, чтобы помогать другим, например.

  5. #14
    Аватар для Desulaid
    лесоруб продакшен

    Статус
    Оффлайн
    Регистрация
    15.03.2015
    Адрес
    Slobodskoy
    Сообщений
    667
    Репутация:
    236 ±
    Цитата Сообщение от PawnoNoob Посмотреть сообщение
    Ну блин, не надо только прикалываться надо мной, я ведь ещё не обладаю такими знаниями в данной области, чтобы помогать другим, например.
    Иногда лучше сначала попробовать скомпилировать свой код. Говорят, помогает в решении многих проблем)) Как я только что: скомпилировал код выше, но почему-то результат не выводился в консоли. Я минут 5 сидел и тыкал, ковырял код, а потом понял, что компилирую не с тем флагом. Был -a. Фейлы везде)

  6. Пользователь сказал cпасибо:
    PawnoNoob (16.08.2016)
  7. #15
    Аватар для PawnoNoob
    Пользователь

    Статус
    Оффлайн
    Регистрация
    31.03.2016
    Сообщений
    257
    Репутация:
    3 ±
    Цитата Сообщение от Anton Styazhkin Посмотреть сообщение
    Иногда лучше сначала попробовать скомпилировать свой код. Говорят, помогает в решении многих проблем)) Как я только что: скомпилировал код выше, но почему-то результат не выводился в консоли. Я минут 5 сидел и тыкал, ковырял код, а потом понял, что компилирую не с тем флагом. Был -a. Фейлы везде)
    Я, если честно, всё равно не понял, что нужно делать для того, чтобы это "дело" заработало. Как я понял, использовать Strcmp вообще не вариант, а при использовании isnull выполняется else.

  8. #16
    Аватар для Desulaid
    лесоруб продакшен

    Статус
    Оффлайн
    Регистрация
    15.03.2015
    Адрес
    Slobodskoy
    Сообщений
    667
    Репутация:
    236 ±
    Цитата Сообщение от PawnoNoob Посмотреть сообщение
    Я, если честно, всё равно не понял, что нужно делать для того, чтобы это "дело" заработало. Как я понял, использовать Strcmp вообще не вариант, а при использовании isnull выполняется else.
    Покажи код, который ты использовал.

  9. Пользователь сказал cпасибо:
    PawnoNoob (16.08.2016)
  10. #17
    Аватар для $continue$
    Пользователь

    Статус
    Оффлайн
    Регистрация
    02.08.2014
    Адрес
    г. Киров (aka Вятка)
    Сообщений
    1,487
    Репутация:
    276 ±
    Такой пример сойдет?
    PHP код:
    #include <a_samp>
    #define isnull(%1) \
                        
    (((%1[0]) == 0) || ((%1[0]) == '\1') && ((%1[1]) == 0))
    main()
    {
        new 
    str1[20];
        print(
    "1)");
        
    PrintIsNullString(str1);
        print(
    "2)");
        
    strcat(str1"not null");
        
    PrintIsNullString(str1);

    }
    PrintIsNullString(str[])
    {
        if(
    isnull(str))
        {
            print(
    "Строка пустая");
        }
        else print(
    "Cтрока не пустая");

    Последний раз редактировалось $continue$; 16.08.2016 в 00:35.
    Value your freedom or you will lose it, teaches history. "Don't bother us with politics," respond those who don't want to learn. (c) Richard Stallman

  11. Пользователь сказал cпасибо:
    PawnoNoob (16.08.2016)
  12. #18
    Аватар для Desulaid
    лесоруб продакшен

    Статус
    Оффлайн
    Регистрация
    15.03.2015
    Адрес
    Slobodskoy
    Сообщений
    667
    Репутация:
    236 ±
    Цитата Сообщение от $continue$ Посмотреть сообщение
    Такой пример сойдет?
    PHP код:
    #include <a_samp>
    #define isnull(%1) \
                        
    (((%1[0]) == 0) || ((%1[0]) == '\1') && ((%1[1]) == 0))
    main()
    {
        new 
    str1[20];
        print(
    "1)");
        
    PrintIsNullString(str1);
        print(
    "2)");
        
    strcat(str1"not null");
        
    PrintIsNullString(str1);

    }
    PrintIsNullString(str[])
    {
        if(
    isnull(str))
        {
            print(
    "Строка пустая");
        }
        else print(
    "Cтрока не пустая");

    ИМХО, тут перегруз информацией: функции PrintIsNullString() и strcat(). Кстати, название функции ни о чем))

  13. #19
    Аватар для PawnoNoob
    Пользователь

    Статус
    Оффлайн
    Регистрация
    31.03.2016
    Сообщений
    257
    Репутация:
    3 ±
    Цитата Сообщение от Anton Styazhkin Посмотреть сообщение
    Покажи код, который ты использовал.
    В том-то и дело, что я его удалил. Ну я делал сначала isnull(pInfo[playerid]...), а потом добавил в сам паблик, выполняющийся при вводе команды, новый параметр. Всё равно и там и там выполнялся else.

  14. #20
    Аватар для Desulaid
    лесоруб продакшен

    Статус
    Оффлайн
    Регистрация
    15.03.2015
    Адрес
    Slobodskoy
    Сообщений
    667
    Репутация:
    236 ±
    Цитата Сообщение от PawnoNoob Посмотреть сообщение
    В том-то и дело, что я его удалил. Ну я делал сначала isnull(pInfo[playerid]...), а потом добавил в сам паблик, выполняющийся при вводе команды, новый параметр. Всё равно и там и там выполнялся else.
    Это точно ошибка в коде. Потому что даже тот вариант, что я скинул, работает хорошечно.

 

 
Страница 2 из 4 ПерваяПервая 1 2 3 4 ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •