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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 19, средняя оценка - 4.79
DDim1000
1 / 1 / 0
Регистрация: 17.12.2011
Сообщений: 238
#1

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

16.09.2012, 22:03. Просмотров 2776. Ответов 9
Метки нет (Все метки)

Подскажите пожалуйста, как в С++ можно проверить переменную на пустоту? Предположем что, в некой проги есть запрос на ввод слово, и может такое бы что, пользователь ничего не введет, а просто нажмет ввод("Enter"), Как это можно проверить в if, или еще как?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.09.2012, 22:03     Как проверить переменную на пустоту?
Посмотрите здесь:
Как проверить массив из char на пустоту? C++
Как проверить на пустоту буфер потока cin ? C++
Как проверить, что пользователь ввел число в переменную string? C++
Не могу проверить переменную класса на соответствие NULL C++
C++ Проверить, является ли число, записанное в переменную типа Double, иррациональным
Записать день в переменную d,месяц в переменную m, год в переменную y C++
C++ Процедура, записывающая в переменную X минимальное из значений X и Y, а в переменную Y – максимальное
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
veverix
39 / 39 / 2
Регистрация: 14.09.2012
Сообщений: 85
16.09.2012, 22:04     Как проверить переменную на пустоту? #2
Поставить значение, которое пользователь не может ввести. Если это строка, то достаточно присвоить первому символу 0
AnreyKazakov
Заблокирован
16.09.2012, 22:07     Как проверить переменную на пустоту? #3
C++
1
2
3
string str;
cin>>str;
if(str==""){}
Или
if(str.empty()==true){}
И еще миллион вариантов...
DDim1000
1 / 1 / 0
Регистрация: 17.12.2011
Сообщений: 238
16.09.2012, 22:59  [ТС]     Как проверить переменную на пустоту? #4
Ни один из предложенных вариантов не работает, Жму Enter и ничего..................
Topotun
89 / 48 / 7
Регистрация: 16.09.2012
Сообщений: 207
17.09.2012, 00:08     Как проверить переменную на пустоту? #5
или Вы ошибаетесь в том, что варианты не работают..
Цитата Сообщение от AnreyKazakov Посмотреть сообщение
Код C++
1
2
3
4
5
string str;
cin>>str;
if(str==""){}
Ничего и не должно происходить) Так, что всё правильно)
Pure
228 / 49 / 2
Регистрация: 13.03.2012
Сообщений: 453
Записей в блоге: 7
17.09.2012, 00:11     Как проверить переменную на пустоту? #6
DDim1000,по нажатию энтер отправляется символ перевода строки обычно '\n';

На него и проверяй.

char trigger =0;
if(trigger =='\n') {}
IrineK
Заблокирован
17.09.2012, 00:25     Как проверить переменную на пустоту? #7
А если так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
#include <string>
using namespace std;
 
int main()
{   string str;
    getline(cin,str);
 
    if(!str.length())
        cout<<"EMPTY!";
    else
        cout<<"NOT EMPTY!";
    
    cin.sync();
    cin.get();
    return 0;
}
alsav22
5416 / 4812 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
17.09.2012, 02:49     Как проверить переменную на пустоту? #8
Цитата Сообщение от AnreyKazakov Посмотреть сообщение
C++
1
2
3
string str;
cin>>str;
if(str==""){}
Или
if(str.empty()==true){}
И еще миллион вариантов...
Такой вариант не будет работать, потому что cin >> пропускает при вводе пробельные символы, в том числе и '\n' (Enter). cin >> будет ждать ввода чего-то не пробельного, и тогда только программа перейдёт к if(), но если уже что-то введено, зачем проверять на пустоту? И так ясно, что уже будет не пусто. cin >> для таких дел не подходит.
AnreyKazakov
Заблокирован
17.09.2012, 09:30     Как проверить переменную на пустоту? #9
Ну getline тогда
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <iostream>
#include <string>
int main(){
    using std::cin;using std::cout;using std::endl;using std::string;using std::getline;
    string str;
    do
    {
    cout<<"Введите что-нибудь"<<endl;
    getline(cin,str);
}while(str=="");
    return 0;
    }
вводи сколько хочешь
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.09.2012, 09:38     Как проверить переменную на пустоту?
Еще ссылки по теме:
Как объявить 10 значную переменную такой как 9876543210 C++
C++ Проверка на пустоту файла С++
C++ Проверка файла на пустоту
Проверка папки на пустоту C++
Проверка стека на пустоту C++

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

Или воспользуйтесь поиском по форуму:
Toshkarik
1140 / 857 / 51
Регистрация: 03.08.2011
Сообщений: 2,384
Завершенные тесты: 1
17.09.2012, 09:38     Как проверить переменную на пустоту? #10
C++
1
2
3
4
std::string str;
 
while ( str.empty())
   std::getline( std::cin, str );
Yandex
Объявления
17.09.2012, 09:38     Как проверить переменную на пустоту?
Ответ Создать тему
Опции темы

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