Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.82/11: Рейтинг темы: голосов - 11, средняя оценка - 4.82
 Аватар для a91
4 / 4 / 0
Регистрация: 03.04.2009
Сообщений: 190

Ввод из строкового потока

30.03.2012, 16:27. Показов 2091. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
#include <iostream>
#include <strstream>
 
using namespace std;
 
struct point
{
       int x;
       int y;
};
 
strstream& operator >> (strstream& in, point& t)
{
           cin >> t.x;
           cin >> t.y;
           
           return in;
};
 
strstream& operator << (strstream& out, point& t)
{
    cin >> t.x;
    cin >> t.y;
    
    out << "x= " << t.x << ", y= " << t.y;
    
    return out;
};
 
int main()
{
    char* s  = new char [300];
    char* ss = new char [553];
    
    cout << sizeof(char*);
    
   
    point P;
    strstream Z(s, 300, ios::in | ios::out);
    int i;
    
    for(i=0; i < 5; i++)
    {
     Z << P;
     Z.getline(ss,55,'\0');
     cout << ss;
    }
    
 
    system("PAUSE");
    return 0;
    
}
Здравствуйте!

Программа работает.
Но никак не могу понять: почему первый раз значения точек x,y выдаются на экран
Например: x=2, y=3;
А потом, когда я ввожу координаты уже вывода не происходит.
А происходит только ввод координат.

Я перегружаю функции извлечения, и вставки в поток >>, <<
Для структурного типа point.

в operator << мы сами вводим координаты структуры. Это я так сделал для теста.
Главная проблема описана выше..
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
30.03.2012, 16:27
Ответы с готовыми решениями:

Разделители при использовании строкового потока
Здравствуйте! У меня вопрос к опытным пользователям данного форума. Когда-то давно, при изучении строк, я написал свою программу для...

Флаг failbit для перенаправления строкового потока; почему он всегда у меня поднят?
#include &lt;windows.h&gt; #include &lt;stdio.h&gt; #include &lt;sstream&gt; using namespace std; int main() { SetConsoleCP(1251); ...

Ввод строкового значения в командной строке Linux
Помогите, пожалуйста, исправить ситуацию в лучшую сторону. Объясните, в чем причина ошибки? Имею следующую программу: // товары...

1
601 / 569 / 104
Регистрация: 07.11.2010
Сообщений: 2,004
30.03.2012, 17:31
Цитата Сообщение от a91 Посмотреть сообщение
strstream& operator >> (strstream& in, point& t)
{
cin >> t.x;
cin >> t.y;
return in;
};
это что за ужас?
C++
1
2
3
4
5
6
7
istream& operator >> (istream& in, point& t)
{
    in >> t.x;
    in >> t.y;
 
    return in;
};
дальше даже не смотрел
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
30.03.2012, 17:31
Помогаю со студенческими работами здесь

Ввод данных в объект string из потока
Знаю что можно сделать так: #include &lt;strstream&gt; ... char str = &quot;&quot;; ostrstream ostr(str, sizeof(str)); ostr &lt;&lt; 21; ostr...

Ввод строкового параметра
Дело вот в чем, возможно ли, как цифрам присвоить значение букв, ну вроде &quot;введите название вашего ноутбука&quot; (readln (c); что бы...

Ввод и вывод строкового массива, исправить код
'Процедура ввода элементов массива типа String с клавиатуры Sub vvodMac(ByRef a() As String, ByVal n As Single) Dim i As...

Ввод и вывод одномерного массива строкового типа
Никогда не приходилось работать со строковым массивом... Вот задание: Организуйте в консольном приложении ввод и вывод одномерного...

Массив: Организуйте в Windows приложении ввод и вывод одномерного массива строкового типа.
В консольном приложении я сделал, а вот как вывести похожие на форму, не очень себе представляю как, вот задание: Организуйте в Windows...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru