🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.os.linux.programowanie
6 messages
6 total messages Started by Marcin Stolarski Thu, 09 Sep 1999 10:41
strumienie
#237
Author: Marcin Stolarski
Date: Thu, 09 Sep 1999 10:41
10 lines
1161 bytes
Pewnie proste, ale jakos nie moge znalesc.
Jak zrobic (C++) by dane wywylane na cout ladowaly:
1. w pliku
2. na drukarce

Chodzi mi o to by jesli program w danym miejscu wyrzucal dane na ekran, to
jesli urzytkowink sobie zarzyczy, dane przekierowac na inne medium bez
specjalnego grzebania w procedurach.

Marcin
Re: strumienie
#238
Author: Cezary H. Noweta
Date: Thu, 09 Sep 1999 13:07
34 lines
1815 bytes
Witam,

Marcin Stolarski wrote:
> Pewnie proste, ale jakos nie moge znalesc.
> Jak zrobic (C++) by dane wywylane na cout ladowaly:
> 1. w pliku
> 2. na drukarce
> Chodzi mi o to by jesli program w danym miejscu wyrzucal dane na ekran, to
> jesli urzytkowink sobie zarzyczy, dane przekierowac na inne medium bez
> specjalnego grzebania w procedurach.

-----
  filebuf f;
  ostream o(f.open("blahblah.txt", "w"));
  _IO_ostream_withassign old_cout;

  old_cout = cout;
  cout = o;

  cout << "Do pliku blahblah.txt\n";

  cout = old_cout;

  cout << "Z powrotem na ekran\n";
-----

Nie jest to zgodne ze standardem, ale dziala pod GNU C++.

  -- pozdrawiam

-- 
Cezary H. Noweta                 90-237 LODZ, ul. J.Matejki 34/38 POLAND
(chncc@irys.usun.drugiitrzeciczlon.uni.lodz.pl)  +48 42 6356013, 6356012
University of Lodz - Main Library                            fax 6781678
Odp: strumienie
#239
Author: Marcin Stolarski
Date: Thu, 09 Sep 1999 14:37
10 lines
1145 bytes
Dzieki, a nie orientujesz sie jak to zrobic w VC++ (NTG). Probowalem

ofstream *ofs=new ofstream("rap.txt");
ostream_withassign old_cout;
old_cout = cout;
cout = *ofs;
cout<<"tekst do pliku";
cout = old_cout;

Ale nie idzie.
Re: strumienie
#240
Author: Piotr Kucharski
Date: Thu, 09 Sep 1999 23:41
7 lines
851 bytes
Marcin Stolarski <mstolars@elka.pw.edu.pl> wrote:
> ofstream *ofs=new ofstream("rap.txt");
> cout = *ofs;

wskaźniki?

p.
Re: strumienie
#241
Author: Arkadiusz Nagorka
Date: Sun, 12 Sep 1999 12:13
51 lines
1759 bytes
Marcin Stolarski wrote:

> Dzieki, a nie orientujesz sie jak to zrobic w VC++ (NTG). Probowalem
>
> ofstream *ofs=new ofstream("rap.txt");
> ostream_withassign old_cout;
> old_cout = cout;
> cout = *ofs;
> cout<<"tekst do pliku";
> cout = old_cout;
>
> Ale nie idzie.

Ponieważ nie ma operatora przypisania dla ostream. Aby było zgodnie
ze standardem i działało pod VC++, można napisać

#include <iostream>
#include <fstream>
#include <streambuf>

using std::cout;
using std::ofstream;
using std::streambuf;

int main()
{
  ofstream out("aaaa.txt");
  if (out) {
    streambuf* old = cout.rdbuf(out.rdbuf());
    cout << "Do aaaa.txt\n";
    cout.rdbuf(old);
    cout << "Na stdout\n";
  }

  return 0;
}

Pozdrawiam.

--
Arkadiusz Nagorka    nagorka@imipkm.pcz.czest.pl

Politechnika Czestochowska
Instytut Mechaniki i Podstaw Konstrukcji Maszyn





.
Re: strumienie
#242
Author: Marcin Stolarski
Date: Mon, 20 Sep 1999 11:03
1 lines
1118 bytes
piekne dzieki
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads