Вывод и ввод в одной строке с использованием IOSTREAM - PullRequest
1 голос
/ 06 июля 2011

Я хочу использовать операторы ввода и вывода iostream в одном и том же выражении, чтобы не быть более приятным для пользователя, но внешний вид, который я пытался, не был получен.

Фрагмент кода:

int value = 0;
std::cout << "Number 1: " << std::cin >> value << std::endl;

Есть ли способ сделать это, используя только cin cout?

Ответы [ 3 ]

3 голосов
/ 06 июля 2011
struct IO {
    template <typename T>
    const IO & operator << (const T & t) const {
        std :: cout << t;
        return *this;
    }

    template <typename T>
    const IO & operator >> (T & t) const {
        std :: cin >> t;
        return *this;
    }
};

IO () << "Number 1: " >> value;
2 голосов
/ 06 июля 2011

немного грязно, но я думаю, это то, что вы хотели

std::cout<<"Data : "<<val<<std::endl<<(std::cin>>val)<<"\r"<<"\t\r\n"<<std::flush;
0 голосов
/ 06 июля 2011
std::cout << "Number 1: ";
std::cin >> value;

Должен сделать свое дело.

...