Перенаправьте и суд и stdout к строке в C++ для Поблочного тестирования

iframe универсально обрабатывается как различная страница HTML большинством браузеров. Если Вы хотите применить ту же таблицу стилей к содержанию iframe, просто сошлитесь на него от страниц, используемых там.

28
задан thelsdj 21 July 2009 в 22:42
поделиться

3 ответа

std :: stringstream может быть тем, что вы ищете.

ОБНОВЛЕНИЕ
Хорошо, это немного взлом, но, возможно, вы могли бы сделать это, чтобы получить вывод printf:

char huge_string_buf[MASSIVE_SIZE];
freopen("NUL", "a", stdout);
setbuf(stdout, huge_string_buffer);

Обратите внимание, что для linux следует использовать «/ dev / null» вместо «NUL». Это быстро начнет заполнять huge_string_buffer. Если вы хотите иметь возможность продолжить перенаправление вывода после заполнения буфера, вам придется вызвать fflush (), иначе будет выдана ошибка. См. std :: setbuf для получения дополнительной информации.

14
ответ дан 28 November 2019 в 03:55
поделиться

Вы можете использовать freopen (..., stdout) , а затем выгрузить файл в память или std :: string .

2
ответ дан 28 November 2019 в 03:55
поделиться

Это может быть альтернативой:

char bigOutBuf[8192];
char savBuf[8192];

fflush(stdout);
setvbuf(stdout,bigOutBuf,IOFBF,8192);//stdout uses your buffer

//after each operation
strncpy(savBuf,bigOutBuf,8192);//won't flush until full or fflush called

//...

//at long last finished
setbuf(stdout,NULL);//reset to unnamed buffer

Это просто перехватывает буферизованный вывод, так что все равно идет на консоль или куда-нибудь еще.

Надеюсь, это поможет.

2
ответ дан 28 November 2019 в 03:55
поделиться
Другие вопросы по тегам:

Похожие вопросы: