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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
mh-coder
24 / 23 / 3
Регистрация: 01.02.2014
Сообщений: 739
#1

Как проверить массив из char на пустоту? - C++

21.04.2014, 17:31. Просмотров 1090. Ответов 4
Метки нет (Все метки)

после чсла выводит буквы М, в том месте где пустые значения, как сделать чтобы они не выводились? number[i] != '\0' - не помогает, NULL тоже
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
char number[100];
 
    cin>>number;
 
    for (int i = 0; i < 100; i++)
    {
       if(number[i] != '3' && number[i] != '6' && number[i] != '\0') {
           cout<<number[i];
       }
    }
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.04.2014, 17:31     Как проверить массив из char на пустоту?
Посмотрите здесь:

Как преобразовать переменную string в массив char[]? C++
C++ Как массив char[4] в int ?
Как проверить переменную на пустоту? C++
C++ Как удалить массив указателей char*
Как перевести массив char[] в char* C++
Как проверить на пустоту буфер потока cin ? C++
C++ Как проверить что в переменной char хранится число?
Как записать char массив в конструкторе C++
C++ Как двумерный массив char заменить на string?
C++ Как преобразовать строку char в массив int?
С++, как заменить в коде char массив на enum? C++
Как заполнить массив char случайными числами? C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
newbie666
Заблокирован
21.04.2014, 17:45     Как проверить массив из char на пустоту? #2
Цитата Сообщение от mh-coder Посмотреть сообщение
number[i] != '\0' - не помогает
конечно, там же мусор, а не нули - сделай так: char number[100] = {0};
IrineK
Заблокирован
21.04.2014, 17:45     Как проверить массив из char на пустоту? #3
Почему переменной присваивается произвольное значение("мусор")?
pav1uxa
1762 / 1602 / 610
Регистрация: 23.01.2014
Сообщений: 5,771
Завершенные тесты: 1
21.04.2014, 18:34     Как проверить массив из char на пустоту? #4
Цитата Сообщение от mh-coder Посмотреть сообщение
после чсла выводит буквы М, в том месте где пустые значения, как сделать чтобы они не выводились? number[i] != '\0' - не помогает, NULL тоже
Потому что наша строка заканчивается символом '\0', но это не значит что после него отсутствуют ячейки памяти. Просто после того как наткнулись на этот символ, нужно прекращать вывод. Например вот так:
C++
1
2
3
4
5
6
7
8
9
    char number[100];
    cin>>number;
    for (int i = 0; i < 100; i++)
    {
        if(number[i] == '\0')
            break;
        if(number[i] != '3' && number[i] != '6')
            cout<<number[i];
    }
Tulosba
:)
Эксперт С++
4384 / 3227 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
21.04.2014, 19:40     Как проверить массив из char на пустоту? #5
Для прохода по си-строке лучше использовать указатель на символ:
C++
1
2
3
4
5
    for (char* p = number; *p; ++p)
    {
        if(*p != '3' && *p != '6')
            cout<<*p;
    }
Yandex
Объявления
21.04.2014, 19:40     Как проверить массив из char на пустоту?
Ответ Создать тему
Опции темы

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