printf

Модератор: Модераторы разделов

drifterlom
Сообщения: 34

printf

Сообщение drifterlom »

Еще вопрос,
как выводить в терминал, если программа запущена из другой.
Т.е. есть программа с графическим интерфейсом, она запускается и при определенных условиях запускает отдельно откомпилированный gcc код.
Этот код творит свои дела и при отладке хотелось бы посмотреть все ли там правильно. Проще всего имхо вывести в терминал, как будто программа из него и запущена, но printf не пишет в терминал, я так понимаю надо написать ему куда выводить, как если бы я в файл писал.
Спасибо сказали:
Аватара пользователя
begin2009
Сообщения: 349
Статус: Ламер со стажем
ОС: без глюков

Re: printf

Сообщение begin2009 »

Или я не понял, или просто надо запускать графическую прогу из консоли.
Пессимист видит темный туннель, оптимист видит свет в конце туннеля, реалист видит свет, туннель и поезд.
И только машинист видит этих трех идиотов, сидящих на рельсах.
Спасибо сказали:
Аватара пользователя
lava
Сообщения: 155
ОС: archer

Re: printf

Сообщение lava »

1) Попробовать запустить из консоли Вашу графическую утилиту. Мне казалось, stderr, равно как и stdout, должны остаться привязаны к тому же терминалу
2) Писать в файл + man tail
3) gdb
Спасибо сказали:
Аватара пользователя
RasenHerz
Сообщения: 1341
ОС: Arch Linux amd64

Re: printf

Сообщение RasenHerz »

Код: Выделить всё

#include <stdlib.h>
#include <unistd.h>
#include <sys/types.h>
#include <wait.h>
#include <stdio.h>

/*
 *
 */
int main(int argc, char** argv) {

    pid_t child = fork();

    if (child == 0){
        char *args[] = {"/bin/cat", "/proc/cpuinfo", NULL};

        execvp(args[0], args);
    }
    else if (child > 0){
        waitpid(child, NULL, 0);
    }
    else {
        perror("fork");
    }
    return (EXIT_SUCCESS);
}


На консоль будет выведен вывод команды cat
Спасибо сказали:
Аватара пользователя
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current

Re: printf

Сообщение drBatty »

drifterlom писал(а):
15.09.2009 15:38
как выводить в терминал, если программа запущена из другой.

да проще всего запускать

Код: Выделить всё

programm >> /var/log/program.log

ессно у проги должны быть права писать в этот файл.
http://emulek.blogspot.ru/ Windows Must Die
Учебник по sed зеркало в github

Скоро придёт
Осень
Спасибо сказали:
drifterlom
Сообщения: 34

Re: printf

Сообщение drifterlom »

спасиб
правда я стал пересылать данные в основную прогу и там уже их на экран выводить =)
вроде все работает
Спасибо сказали: