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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.78
a91
4 / 4 / 0
Регистрация: 03.04.2009
Сообщений: 190
#1

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

30.03.2012, 16:27. Просмотров 1143. Ответов 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 << мы сами вводим координаты структуры. Это я так сделал для теста.
Главная проблема описана выше..
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.03.2012, 16:27     Ввод из строкового потока
Посмотрите здесь:

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

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

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

Ввод данных в string, очистка потока ввода - C++
Дана программа #include &quot;stdio.h&quot; #include &quot;stdlib.h&quot; #include &quot;string.h&quot; #include &quot;conio.h&quot; #include &quot;iostream&quot; #include...

Как закончить ввод в итератор ввода для потока - C++
По задумке в представленном ниже коде вводятся слова в консоль, потом как то ввод прекращается и программа дальше выполняет свои подсчеты и...

Перевод потока из файлового ввода/вывода в консольный ввод/вывод - C++
Есть кусок программы: freopen (&quot;G:\\input.txt&quot;, &quot;r&quot;, stdin); freopen (&quot;G:\\output.txt&quot;, &quot;w&quot;, stdout); //Открываем файлы - один...

Проверка строкового массива - C++
Добрый день, помогите, пожалуйста, разораться с проверкой условия: Имеем текстовый файл, содержащий следующие данные: &quot;Right 3 1 ...

Узнать длину строкового массива - C++
char s1; cout &lt;&lt; strlen(s1) &lt;&lt; endl; // Выдаёт 62 вместо 26| Как узнать char s2;// | правильный ...

Вывод строкового массива на экран - C++
Доброго времени суток Такая проблема,я хочу вывести какой-то результат , например &quot;Hello&quot;,но пишет мусор,просто я не совсем понимаю,как...

Поиск строкового массива в файле - C++
Доброго времени суток, мне нужно создать программу которая будет открывать файл с данными записанными построчно, искать нужную строку по...

Обработка данных строкового типа - C++
Распечатать введенную строку, удалив из нее слова с нечетными номерами и перевернув слова с четными номерами. Например, из строки 'холодный...

Конвертация строкового типа в int - C++
Как из вот этого textBox1-&gt;TextChanged сделать переменную типа int ? я пытался так но не получилось int x; x = textBox1-&gt;TextChanged;...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
panicwassano
591 / 559 / 20
Регистрация: 07.11.2010
Сообщений: 2,004
30.03.2012, 17:31     Ввод из строкового потока #2
Цитата Сообщение от 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;
};
дальше даже не смотрел
Yandex
Объявления
30.03.2012, 17:31     Ввод из строкового потока
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru