Форум программистов, компьютерный форум CyberForum.ru

Проверить, последний ли символ - C++

Восстановить пароль Регистрация
 
MystiC88
3 / 3 / 0
Регистрация: 20.03.2014
Сообщений: 55
19.04.2014, 22:14     Проверить, последний ли символ #1
Мне нужно удалить символ 'a' с конца строки.
Работаю с указателями.

Вот в эту функцию подаётся указатель на строку, в конце которой нужно удалить букву:

C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
int deletea(char *s) {
    
    int flag = 0;
    for (;*s;s++) {
        if ((*s == 'a') && (*(s+1) == char(0))) {
            strcpy(s, (s+1));
            s-=1;
            flag=1;
        }
    }
}
Вот так я пытаюсь проверить, последний ли символ:
C++ (Qt)
1
2
1) *(s+1) == char(0)
2) *(s+1) == '\0'
Но не выходит...
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
19.04.2014, 22:31     Проверить, последний ли символ #2
C++
1
2
3
4
5
6
void deletea(char *s) 
{
    if (s[strlen(s) - 1] == 'a')
          s[strlen(s) - 1] = '\0';
 
}
MystiC88
3 / 3 / 0
Регистрация: 20.03.2014
Сообщений: 55
20.04.2014, 18:10  [ТС]     Проверить, последний ли символ #3
спасибо, а вот интересно, почему мой вариант не сработал?
nmcf
4303 / 3724 / 1255
Регистрация: 14.04.2014
Сообщений: 14,589
20.04.2014, 18:22     Проверить, последний ли символ #4
Потому что он неверный. Зачем, скажем, тебе strcpy?
MystiC88
3 / 3 / 0
Регистрация: 20.03.2014
Сообщений: 55
20.04.2014, 18:24  [ТС]     Проверить, последний ли символ #5
Цитата Сообщение от MystiC88 Посмотреть сообщение
1) *(s+1) == char(0)
2) *(s+1) == '\0'
Ну вот в этих вариантах, я пытаюсь узнать, следующий символ - \0

Или иначе, объясните, пожалуйста, как работают эти 2 строчки по отдельности.
Yandex
Объявления
20.04.2014, 18:24     Проверить, последний ли символ
Ответ Создать тему
Опции темы

Текущее время: 20:16. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru