Еще вопрос,
как выводить в терминал, если программа запущена из другой.
Т.е. есть программа с графическим интерфейсом, она запускается и при определенных условиях запускает отдельно откомпилированный gcc код.
Этот код творит свои дела и при отладке хотелось бы посмотреть все ли там правильно. Проще всего имхо вывести в терминал, как будто программа из него и запущена, но printf не пишет в терминал, я так понимаю надо написать ему куда выводить, как если бы я в файл писал.
printf
Модератор: Модераторы разделов
-
- Сообщения: 349
- Статус: Ламер со стажем
- ОС: без глюков
Re: printf
Или я не понял, или просто надо запускать графическую прогу из консоли.
Пессимист видит темный туннель, оптимист видит свет в конце туннеля, реалист видит свет, туннель и поезд.
И только машинист видит этих трех идиотов, сидящих на рельсах.
И только машинист видит этих трех идиотов, сидящих на рельсах.
-
- Сообщения: 155
- ОС: archer
Re: printf
1) Попробовать запустить из консоли Вашу графическую утилиту. Мне казалось, stderr, равно как и stdout, должны остаться привязаны к тому же терминалу
2) Писать в файл + man tail
3) gdb
2) Писать в файл + man tail
3) gdb
-
- Сообщения: 1341
- ОС: Arch Linux amd64
Re: printf
Код: Выделить всё
#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
-
- Сообщения: 8735
- Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
- ОС: Slackware-current
Re: printf
да проще всего запускать
Код: Выделить всё
programm >> /var/log/program.log
ессно у проги должны быть права писать в этот файл.
-
- Сообщения: 34
Re: printf
спасиб
правда я стал пересылать данные в основную прогу и там уже их на экран выводить =)
вроде все работает
правда я стал пересылать данные в основную прогу и там уже их на экран выводить =)
вроде все работает