Как записать вывод консоли в текстовый файл
У меня есть этот алгоритм генерации ключей, сделанный на C, который будет отображать все сгенерированные ключи в консоли:
Так как же сохранить все ключи, записанные на консоли, в текстовый файл?
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
static const char alphabet[] = "abcdefghijklmnopqrs";
static const int alphabet_size = sizeof(alphabet) - 1;
void brute_impl(char * str, int index, int max_depth)
{
int i;
for (i = 0; i < alphabet_size; ++i)
{
str[index] = alphabet[i];
if (index == max_depth - 1)
{
printf("%s\n", str); // put check() here instead
}
else
{
brute_impl(str, index + 1, max_depth);
}
}
}
void brute_sequential(int max_len)
{
char * buf = malloc(max_len + 1);
int i;
for (i = 8; i <= max_len; ++i)
{
memset(buf, 0, max_len + 1);
brute_impl(buf, 0, i);
}
free(buf);
}
int main(void)
{
brute_sequential(8);
return 0;
}
2 ответа
Профессиональный путь:
Используйте приведенный ниже код в начале вашего кода
freopen("output.txt","w",stdout);
Еще один интуитивно понятный способ:
В Windows после компиляции кода на C он сгенерирует файл.exe (скажем, это dummy.exe).
Теперь, чтобы сохранить результат, полученный этим exe-файлом, во внешний txt-файл (скажем, это out.txt), все, что вам нужно сделать, - это просмотреть этот exe-файл через CMD и набрать
dummy.exe > out.txt
и если у вас есть какие-либо входные данные для проверки, используйте
dummy.exe <input.txt> out.txt