cout
От: Аноним  
Дата: 26.10.05 12:47
Оценка:
Мрожно ли сделать так, чтобы cout выводил, например, в файл?
Re: cout
От: Vamp Россия  
Дата: 26.10.05 13:08
Оценка:
А>Мрожно ли сделать так, чтобы cout выводил, например, в файл?

Можно.
Да здравствует мыло душистое и веревка пушистая.
Re[2]: cout
От: Аноним  
Дата: 26.10.05 13:13
Оценка:
Здравствуйте, Vamp, Вы писали:


А>>Можно ли сделать так, чтобы cout выводил, например, в файл?


V>Можно.


И как?
Re[3]: cout
От: Wo-o-olf Россия  
Дата: 26.10.05 13:16
Оценка: :)
mycoolprogram.exe > c:\log.txt

Re[4]: cout
От: Аноним  
Дата: 26.10.05 13:21
Оценка:
Здравствуйте, Wo-o-olf, Вы писали:


WOO>mycoolprogram.exe > c:\log.txt


WOO>


А одновременно на экран, в файл и в канал TCP или канал CAN.
Re[5]: cout
От: CrystaX Россия https://crystax.me/
Дата: 26.10.05 13:37
Оценка: +1 :)
Здравствуйте, <Аноним>, Вы писали:

А>А одновременно на экран, в файл и в канал TCP или канал CAN.


mycoolprogram.exe >c:\log.txt 1>&2 1>&....
... << RSDN@Home 1.1.4 stable rev. 510>>
Re: cout
От: Константин Россия  
Дата: 26.10.05 13:37
Оценка:
Здравствуйте, <Аноним>, Вы писали:

А>Мрожно ли сделать так, чтобы cout выводил, например, в файл?


а если так?

#include <iostream>
#include <fstream>
#include <ostream>
#include <string>

using namespace std;

int main()
{
  filebuf buf;
  string name("test.txt");
  buf.open(name.c_str(),ios_base::out);
  streambuf* old=cout.rdbuf(&buf);
  cout << "Hello" << endl;
  cout.rdbuf(old);
  cout << "Bye" << endl;
}
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re: cout
От: vitalyk  
Дата: 26.10.05 13:37
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Мрожно ли сделать так, чтобы cout выводил, например, в файл?


Можно, напр. так (VS7.1):

FILE *f = _tfopen( _T("d:\\hello.txt"), _T("w") );
_iob[1] = *f;
std::cout << _T("Hello, world!") << std::endl; //Пишет в d:\hello.txt
fclose( f );
Re[2]: cout
От: Константин Россия  
Дата: 26.10.05 13:42
Оценка:
Josuttis "C++ Standard Library, The: A Tutorial and Reference" предлагает так...

   // io/redirect.cpp

   #include <iostream>
   #include <fstream>
   using namespace std;

   void redirect(ostream&);

   int main()
   {
         cout << "the first row" << endl;

         redirect (cout);

         cout << "the last row" << endl;
   }

   void redirect (ostream& strm)
   {
       ofstream file("redirect.txt");

       // save output buffer of the stream
       streambuf* strm_buffer = strm.rdbuf();

       // redirect ouput into the file
       strm.rdbuf (file.rdbuf());

       file << "one row for the file" << endl;
       strm << "one row for the stream" << endl;

       // restore old output buffer
       strm.rdbuf (strm_buffer);

   }    // closes file AND its buffer automatically
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[3]: cout
От: Vamp Россия  
Дата: 26.10.05 13:47
Оценка:
А>И как?
В дополнение ко всем прeдыдущим ораторам:

#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>
#include <errno.h>

int main ()
{        
    int fd;
    char const *file = "redirect.out";
    int flags = O_CREAT | O_WRONLY | O_APPEND;
    mode_t mode = S_IRUSR | S_IWUSR;
    int saved_errno;

    fd = open (file, flags, mode);
    if (fd == -1) {
    printf("Error opening %d\n", errno);
    return 1;
    }
    if (dup2(fd, fileno(stdout)) == -1) {
    printf("Error dup %d\n", errno);
    return 1;
    }        
    fprintf(stdout, "REDIRECT\n");
    close(fd);
}
Да здравствует мыло душистое и веревка пушистая.
Re[6]: cout
От: MaximE Великобритания  
Дата: 26.10.05 14:28
Оценка: +1
On Wed, 26 Oct 2005 17:37:39 +0400, CrystaX <2315@users.rsdn.ru> wrote:

> Здравствуйте, <Аноним>, Вы писали:

>
> А>А одновременно на экран, в файл и в канал TCP или канал CAN.
>
> mycoolprogram.exe >c:\log.txt 1>&2 1>&....
>

Вывод будет идти только в последнее перенаправление 1>....

--
Maxim Yegorushkin
Posted via RSDN NNTP Server 2.0 beta
Re[5]: cout
От: MaximE Великобритания  
Дата: 26.10.05 14:29
Оценка:
On Wed, 26 Oct 2005 17:21:38 +0400, Аноним <0@users.rsdn.ru> wrote:

> А одновременно на экран, в файл и в канал TCP или канал CAN.


man tee

--
Maxim Yegorushkin
Posted via RSDN NNTP Server 2.0 beta
Re[6]: cout
От: Андрей Коростелев Голландия http://www.korostelev.net/
Дата: 26.10.05 14:42
Оценка:
Здравствуйте, CrystaX, Вы писали:

CX>Здравствуйте, <Аноним>, Вы писали:


А>>А одновременно на экран, в файл и в канал TCP или канал CAN.


CX>mycoolprogram.exe >c:\log.txt 1>&2 1>&....

CX>
, но мо моему так не выйдет
под никсами есть tee, ее вроде как и под винду тоже портировали
-- Андрей
Re[7]: cout
От: CrystaX Россия https://crystax.me/
Дата: 26.10.05 14:43
Оценка:
Здравствуйте, Андрей Коростелев, Вы писали:

CX>>mycoolprogram.exe >c:\log.txt 1>&2 1>&....

CX>>
АК>, но мо моему так не выйдет
АК>под никсами есть tee, ее вроде как и под винду тоже портировали

Конкретно вот так:
mycoolprogram.exe >c:\log.txt 1>&2

выйдет и под виндами.
... << RSDN@Home 1.1.4 stable rev. 510>>
Re[8]: cout
От: jazzer Россия Skype: enerjazzer
Дата: 26.10.05 15:03
Оценка:
Здравствуйте, CrystaX, Вы писали:

CX>Здравствуйте, Андрей Коростелев, Вы писали:


CX>>>mycoolprogram.exe >c:\log.txt 1>&2 1>&....

CX>>>:)
АК>>:), но мо моему так не выйдет
АК>>под никсами есть tee, ее вроде как и под винду тоже портировали

CX>Конкретно вот так:

CX>
CX>mycoolprogram.exe >c:\log.txt 1>&2
CX>

CX>выйдет и под виндами.

только ему нужно ровно наоборот :)
ему нужен tee
jazzer (Skype: enerjazzer) Ночная тема для RSDN
Автор: jazzer
Дата: 26.11.09

You will always get what you always got
  If you always do  what you always did
Re[9]: cout
От: CrystaX Россия https://crystax.me/
Дата: 26.10.05 15:18
Оценка:
Здравствуйте, jazzer, Вы писали:

J>только ему нужно ровно наоборот

J>ему нужен tee

Да шутка это, шутка. Бамбарбия! Кергуду!
... << RSDN@Home 1.1.4 stable rev. 510>>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.