Ошибка: Failed to parse the Currency Converter XML document.
$23 935.38
|
Ошибка: Failed to parse the Currency Converter XML document.
$2 020.50
|
Ошибка: Failed to parse the Currency Converter XML document.
$3 507.61
|
Перенаправление stdout в область памяти (или файл)
Для перенаправления stdout в область памяти (или файл) необходимо написать небольшую конструкцию.
Редирект в память или строку (std::string)
// make stdout buffer
char buf[16384]={0};
int fdpipe[2];
// make pipe
_pipe( fdpipe, sizeof(buf), O_BINARY );
// backup stdout handle
int old=_dup(_fileno(stdout));
// replace stdout handle with write-pipe
_dup2(fdpipe[1], _fileno(stdout));
// test output
fprint(stdout,«test»);
// get collected buffer
int r = read(fdpipe[0],buf,sizeof(buf));
buf[r]=0;
// restore original stdout
_dup2(old, _fileno(stdout));
// make string
std::string str(buf);
Пример для работы с STL std::cout
std:stringstream oss;
std::cout.rdbuf( oss.rdbuf() );
std::cout << «here's some text»;
Пример редиректа в файл
stream = freopen( «freopen.out», «w», stderr );
fprintf( stdout, «successfully reassigned\n» );
fclose( stream );