Вы можете использовать freopen для изменения дескриптора.
#include<stdio.h>
main(int argc, char** argv) {
FILE *fp = freopen("output.txt", "w", stdout);
printf("Hello\n");
fclose(fp);
}
Если вы запустите его, вы увидите вывод printf в output.txt, и на ваш экран ничего не попадет.
Теперь вы можете открыть файл для чтения данных или даже mmap поместить его в свое пространство памяти и обработать его таким образом.