Как записать в буфер памяти с ФАЙЛОМ *?

Думаю, правильный ответ - это cpp Кевин. Но вот как это сделать c++ с FILE *. Обратите внимание, что c если размер буфера (здесь cpp 100000) слишком мал, вы теряете c данные, поскольку они записываются, когда c буфер очищается. Кроме того, если c программа вызывает fflush(), вы cpp теряете данные.

#include 
#include 

int main(int argc, char **argv)
{
    FILE *f = fopen("/dev/null", "w");
    int i;
    int written = 0;
    char *buf = malloc(100000);
    setbuffer(f, buf, 100000);
    for (i = 0; i < 1000; i++)
    {
        written += fprintf(f, "Number %d\n", i);
    }
    for (i = 0; i < written; i++) {
        printf("%c", buf[i]);
    }
}

c++

c

2022-10-27T13:55:59+00:00