Спрашивающий
cin не ждет ввода

Вопрос
-
Программа не дожидается ввода признака
cout<<"Продолжить?(0-НЕТ; 1-ДА) ";
cin.clear();
cin>>pr;
cout << "pr=" << pr << endl;
if (pr == 0) break;Происходит завершение программы
Продолжить?(0-НЕТ; 1-ДА) pr=0
В чем причина непослушания? Конвейер?
15 мая 2021 г. 4:34
Все ответы
-
Программа не дожидается ввода признака
cout<<"Продолжить?(0-НЕТ; 1-ДА) ";
cin.clear();
cin>>pr;
cout << "pr=" << pr << endl;
if (pr == 0) break;Происходит завершение программы
Продолжить?(0-НЕТ; 1-ДА) pr=0
В чем причина непослушания? Конвейер?
Точно не конвейер. :)
Под отладчиком что происходит? Какой тип у pr? Консоль юникодная?
This posting is provided "AS IS" with no warranties, and confers no rights.
15 мая 2021 г. 22:28Модератор -
Завершение с кодом 0
int pr;
Консоль , наверное, не юникодная, тк команда setlocale(LC_ALL, "rus"); работает.
В каком месте настроить юникод?
До проблемной cin работает
while(cin >>a[j] && a[j]!='s')
{if(a[j]==0) {m0[k]=j;k++;}17 мая 2021 г. 4:02 -
Завершение с кодом 0
int pr;
Консоль , наверное, не юникодная, тк команда setlocale(LC_ALL, "rus"); работает.
В каком месте настроить юникод?
До проблемной cin работает
while(cin >>a[j] && a[j]!='s')
{if(a[j]==0) {m0[k]=j;k++;}А до завершения с кодом 0? Поставьте точку останова на команду ввода и после нее.
В любом случае, я попробовал вот это, все работает как и ожидалось.
#include <Windows.h>
#include <stdio.h>
#include <tchar.h>
#include "stdafx.h"
#include<iostream>
#include<conio.h>
#include <iostream>
#include <io.h>
#include <fcntl.h>int _tmain(int argc, _TCHAR* argv[])
{
_setmode(_fileno(stdout), _O_U16TEXT);
_setmode(_fileno(stdin), _O_U16TEXT);
int foo;
std::wcin >> foo;
std::wcout << foo;
}
This posting is provided "AS IS" with no warranties, and confers no rights.
17 мая 2021 г. 5:57Модератор