Добавил:
Upload
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:
#include <stdio.h>
#include <errno.h>
#define BUF_SIZE 0x100 //инициализация размера буфера
int main(int argc, char * argv[])
{
FILE * f;
FILE * o;
int len;
char buf[BUF_SIZE];
if (argc != 2) //проверка количества введенных аргументов
{
printf("использование: makelog \"<command>\"\n");
return -1;
}
f = popen(argv[1], "r"); //создание однонаправленного потока
if (f == NULL) //проверка ошибок потока
{
perror("ошибка:\n");
return -1;
}
o = fopen("log.txt", "w");
while ((len = fread(buf, 1, BUF_SIZE, f)) != 0) //запись данных из потока f
{
write(1, buf, len); //в выходной поток
fwrite(buf, 1, len, o); //в файл лога
}
pclose(f); //закрытие потоков
fclose(o);
return 0;
}
Соседние файлы в папке block2