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

Несоответствие работы cin.putback в разных компиляторах - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ @ в аргументе метода http://www.cyberforum.ru/cpp/thread45936.html
подскажите плиз, что означает следующая запись method(..., object @param)? меня интересует именно "собака" в этой записи
C++ Изучение С++ Добрый день! Вот решил взяться за изучение С++. И возникли вопросы: - какая среда разработки лучше. - возможно ли написать приложение и не распространят с программой кучу библиотек (как это есть с MFC). - Чем лучше C++, в сравнении с Delphi. http://www.cyberforum.ru/cpp/thread45758.html
очень интересный баг C++
Если кто-нибудь догадается в чем ошибка, то скажите. Ошибку я уже исправил, но не знаю, почему не работает этот код: #include <iostream> #include <conio.h> int CompareFaceStat(char mass, char mass1) { int count=0; for(int i=0;i<100;i++) { if(mass>>6==mass1>>6) count++;
CString buff = "aaa" + "bbb" C++
Хочется одним оператором конкатенировать несколько подстрок CString buff = "aaa" + "bbb" компилятор выдает error C2110: cannot add two pointers Как бы написать такой оператор?
C++ DLL в borland c++ http://www.cyberforum.ru/cpp/thread45414.html
//Пример кода в dll: int count; int __stdcall __export f_001(const char* cst) { count++; ... return count; }
C++ Графический интерфейс в консольных программах Насколько я понял, чтоб создать граф. интерфейс, нужна библиотека curses.h. Но в ней довольно низкоуровневые команды, вроде передвижения курсора и вывода строчки... А есть ли какая-нибудь библиотека со следующим уровнем абстракции, которая позволила бы напрямую создавать кнопочки, менюшки, растягиваемые окошки с кпопками закрытия и минимизации и т. д.? подробнее

Показать сообщение отдельно
DeizR
0 / 0 / 0
Регистрация: 03.08.2009
Сообщений: 5

Несоответствие работы cin.putback в разных компиляторах - C++

03.08.2009, 19:36. Просмотров 1932. Ответов 6
Метки (Все метки)

Здравствуйте!
Озадачило меня следующее несоответствие (текст приведен в качестве примера):

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
#include <cstring>
using namespace std;
 
int main ()
{
    while (cin) {
        char ch;
        do {
            cin.get (ch);
            if (ch=='_') {
                cin.putback('6');
                cin.putback('5');
                cin.putback('4');
                cin.putback('3');
                cin.putback('2');
                cin.putback('1');
            }
        } while (ch != '\n' && isspace (ch));
        cout << ch;
    }
}

Приведенный код, скомпилированный в g++, дает следующий результат:

Код
debianpc:/# c++ test.cpp 
debianpc:/# ./a.out
abc_abc
abc_123456abc
(что и требуется)

скомпилированный в Builder C++ 2007:

Код
c:\test.exe
abc_abc
abc_1456abc
а в Dev-C++ вообще вылетает после ввода строки...

в чем кроется загвоздка?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru