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

Запихнуть данные в поток - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Шаблоны классов. Ошибка `unable to match function definition to an existing declaration` http://www.cyberforum.ru/cpp-beginners/thread302318.html
#pragma once template <typename T = int> class SingleBuffer { public: SingleBuffer(T fd): field(fd), state(true){} SingleBuffer(): state(false) {} ~SingleBuffer(){}
C++ Рассчитать подоходный налог В королевстве Нейтронии где денежной еденицей является tvarp, установлены следующие ставки подоходного налога: первые 5000 tvarp: 0% следующие 10000 tvarp: 10% следующие 20000 tvarp: 15% свыше 35000: 20% http://www.cyberforum.ru/cpp-beginners/thread302308.html
Сортировка C++
создать класс. в классе должны содержатся следующие сведения: название, цена, количество, максимальный и минимальный возраст. помогите сделать сортировку по всем пунктам(по названию, по цене, по количеству, по возрасту) выводить название сортируемого предмета и то по которому сортируют(например если сортируют по цене выводит: машина - 320000 рублей.)
Нужны комментарии к программам C++
обьясните пожалуйста проги, что делают какие строчки 2.1. Алгоритм уравнения прямой y = ax + b. #include <time.h> #include "vstub.h" namespace std{ int main(void) {
C++ Как продолжить? http://www.cyberforum.ru/cpp-beginners/thread302292.html
Здравствуйте! Есть огромное желание изучить с++... В интернете наткнулся на неплохие видеоуроки по visual c++ от teachvideo, может кто видел? Если вкратце, то там рассказываются только азы, и то не все. Так вот, как продолжить? И еще один вопрос, какой платформой лучше всего пользоваться? З.Ы: пожалуйста не удаляйте тему...
C++ Совет по работе с файлами надо написать программу, которая считывает данные из текстового файла в структуру с 4-мя полями, типа однонаправленный список, а потом выполнять удаление\добавление\поиск элемента из списка, вывод списка. с работой с элементами проблем нет, не знаю как считать из файла готовый список и как его задать в файле подробнее

Показать сообщение отдельно
Gepar
 Аватар для Gepar
1173 / 529 / 20
Регистрация: 01.07.2009
Сообщений: 3,508
23.05.2011, 12:48     Запихнуть данные в поток
Тааак, задам экстремальный вопрос:
В общем была себе перегрузка оператора ввода в одном примере, рассчитана на ввод 14 символов и их сохранение в разных переменных, а теперь вот захотелось мне добавить изначально проверку содержимого, но хитро - так чтобы предыдущий написанный код не редактировать. Так вот проверку входящего потока я пририсовал, а вот теперь хочу чтобы если всё хорошо с потоком то из моего символьного массива всё запихивалось в поток на ввод назад, те: создать для программы впечатление что во входящем потоке уже есть 14 символов из моего массива и теперь при следующем cin>> оно сначала сжевало мои запихнутые 14 символов, а потом уже принималось за считывание ввода с клавиатуры. Можно так?
Изначально вообще код был такой
C++
1
2
3
4
5
6
7
8
9
10
istream &operator>>( istream &ainput, PhoneNumber &number )
{
   ainput.ignore(); // skip (
   ainput >> setw( 3 ) >> number.areaCode; // input area code
   ainput.ignore( 2 ); // skip ) and space
   ainput >> setw( 3 ) >> number.exchange; // input exchange
   ainput.ignore(); // skip dash (-)
   ainput >> setw( 4 ) >> number.line; // input line
   return ainput; // enables cin >> a >> b >> c;       
}; // end function operator>>
Теперь такой
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
istream &operator>>( istream &ainput, PhoneNumber &number )
{
   char c[15];
   ainput.get(c,14);
   if (ainput.gcount()<14)
    ainput.clear(ios::failbit);
   if (c[1]==1 || c[1]==0) 
    ainput.clear(ios::failbit);
   if (c[2]!=0 && c[2]!=1 )
    ainput.clear(ios::failbit);
 
// ВОТ ЗДЕСЬ НАДО БЫ КАК-ТО ПОДПИХНУТЬ В ПОТОК СОДЕРЖИМОЕ МАССИВА СИМВОЛОВ C, НУ КРОМЕ СИМВОЛА '\0' КОНЕЧНО ЖЕ
 
   if (!(ainput.fail())) 
   {
   ainput.ignore(); // skip (
   ainput >> setw( 3 ) >> number.areaCode; // input area code
   ainput.ignore( 2 ); // skip ) and space
   ainput >> setw( 3 ) >> number.exchange; // input exchange
   ainput.ignore(); // skip dash (-)
   ainput >> setw( 4 ) >> number.line; // input line
   }
   return ainput; // enables cin >> a >> b >> c;       
}; // end function operator>>
Добавлено через 14 часов 15 минут
Мне всё ещё любопытно. Конечно же можно просто перекопировать из массива символов моего нужные данные в соотв. переменные, но хотелось научиться запихивать в буфер входящего потока данные чтобы они потом оттудова при следующем cin извлекались.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 19:49. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru