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

Прочитать последовательность символов - C++

Восстановить пароль Регистрация
 
TBIKC
web dev
 Аватар для TBIKC
104 / 91 / 1
Регистрация: 23.09.2010
Сообщений: 738
07.01.2011, 16:40     Прочитать последовательность символов #1
Странно по Страуструп последнему изданию

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include "stdafx.h"
#include <iostream>
#include <windows.h>
using namespace std;
 
int main ()
{
    // Прототип функции поддержки русских шрифтов
    setlocale( LC_ALL,"RUSSIAN" );
    // hndl - Указатель на структуру управления цветом
    HANDLE hndl=GetStdHandle(STD_OUTPUT_HANDLE);
        SetConsoleTextAttribute(hndl,FOREGROUND_GREEN|FOREGROUND_INTENSITY);
 
    string str;
        cout << "Пожалуйста введите ваще имя\n";
    cin >> str;
    cout << "Здраствуй," << str <<endl;
    cin.get();
    return 0;
}
Прочитать и вывести последовательность символов не получается
Что не так ?

По книге Дейтела - string строки как тип нету информации и примеров
Миниатюры
Прочитать последовательность символов  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.01.2011, 16:40     Прочитать последовательность символов
Посмотрите здесь:

C++ Прочитать последовательность слов из потока ввода.
Прочитать первые 10 символов каждой строки из файла C++
C++ Прочитать N первых символов из файла
Дана последовательность символов, в начале которой имеется некоторое количество одинаковых символов. Определить это количество C++
C++ Вводится последовательность символов. Признак конца ввода – точка. Посчитать количество символов не являющихся пробелами
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Nameless One
Эксперт С++
 Аватар для Nameless One
5754 / 3403 / 255
Регистрация: 08.02.2010
Сообщений: 7,393
07.01.2011, 16:46     Прочитать последовательность символов #2
А хедер для строк подключить?
C++
1
#include <string>
TBIKC
web dev
 Аватар для TBIKC
104 / 91 / 1
Регистрация: 23.09.2010
Сообщений: 738
07.01.2011, 16:58  [ТС]     Прочитать последовательность символов #3
А ну да как я не догадался)
Вопрос теперь вот какой, во первых "кракозябли" хотя локаль в самом начале задана
И cin.get(); почему то не делает паузу после вывода Здраствуй XXX
Nameless One
Эксперт С++
 Аватар для Nameless One
5754 / 3403 / 255
Регистрация: 08.02.2010
Сообщений: 7,393
07.01.2011, 17:02     Прочитать последовательность символов #4
  1. Такой способ работает, только если нужно выводить текст, а не вводить. Попробуй вместо setlocale делать так:
    C++
    1
    2
    
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
  2. Скорее всего, в буфере потока просто остались символы, один из которых и "забирает" cin.get
TBIKC
web dev
 Аватар для TBIKC
104 / 91 / 1
Регистрация: 23.09.2010
Сообщений: 738
07.01.2011, 17:07  [ТС]     Прочитать последовательность символов #5
1 помогло

2 как решить эту проблему?
Использовать system("PAUSE");
Слышал не рационально ( не желательно )
Nameless One
Эксперт С++
 Аватар для Nameless One
5754 / 3403 / 255
Регистрация: 08.02.2010
Сообщений: 7,393
07.01.2011, 19:03     Прочитать последовательность символов #6
Попробуй "сбросить" буфер потока так:
C++
1
2
cin.clear();
cin.ignore(cin.rdbuf()->in_avail());
А вообще, программы можно запускать из консоли, помогает
Yandex
Объявления
07.01.2011, 19:03     Прочитать последовательность символов
Ответ Создать тему
Опции темы

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