Программа должна посчитать количество символов и слов в введённой строке, считывание осуществляется при помощи функции getche().
Пример из учебника:
#include "pch.h"
#include <iostream>
#include <conio.h>
#pragma warning(disable : 4996)
using namespace std;
int main()
{
int chcount = 0;
int wdcount = 1;
char ch = 'a';
cout << "Enter a phrase: ";
while (ch != '\r')
{
ch = getche();
if (ch == ' ')
wdcount++;
else
chcount++;
}
cout << "\nWords=" << wdcount << endl
<< "Letters= " << (chcount - 1) << endl;
return 0;
}
Вывод такой программы будет не правильным. Например: при строке "dfg" количество символов(chcount) будет равно 6, при строке "dfg dfg" кол-во символов будет 13.
Функция getche() возвращает очередной символ, считанный с консоли, и выводит этот символ на экран.
Пошаманив с отладкой, предполагаю, что после вывода полученного символа на экран считывает его ещё раз, притом в виде "\0".
Windows. Visual Studio 2017.
Это связанно с принципом работы getche? VS? В более поздних версиях VS или новых стандартах C++ старая функция совсем ненормально работает?
Как написано тут при компиляции с динамической библиотекой /MD функция getche() работает правильно в Visual Studio 2017.
Проект -> Свойства проекта -> Свойства конфигурации -> C/C++ -> Создание кода -> Библиотека времени выполнения -> Многопоточный DLL (/MD) Не уверен что решает проблему полностью, но в данном примере getche() начинает работать корректно.
Виртуальный выделенный сервер (VDS) становится отличным выбором
Исполняемое приложение подключает плагинКак внутри этого плагина узнать абсолютный путь по которому он лежит?
Подскажите, как корректно пройтись по вектору и удалить некоторые его элементыТ
Смотрел видео Mike Acton и там рассказывалось, что в геймдеве не используют исключения, RTTI и тд
создал бота, начал использовать telegram api проект собирается при помощи maven докинул зависимость