Извините, если это очень пустой вопрос, но я только начинаю с ncurses (и C++).system() output in ncurses
Я пытаюсь вызвать системную команду внутри кода ncurses (например, что-то будет работать) и сохранить вывод в переменной, не отображая его до тех пор, пока я его не распечатаю, но когда я создаю переменную с выход system(), он автоматически распечатывается на экране.
Это мой код до сих пор:
#include <iostream>
#include <string>
#include <ncurses.h>
using namespace std;
string g;
int main()
{
initscr();
int h, w;
getmaxyx(stdscr, h, w);
cbreak();
refresh();
g=system("date");
WINDOW* w1_b = newwin(h, w/2, 0, 0);
box(w1_b, 0 , 0);
WINDOW* w2_b = newwin(h/2, w/2, 0, w/2);
box(w2_b, 0 , 0);
WINDOW* w3_b = newwin(h/2, w/2, h/2, w/2);
box(w3_b, 0 , 0);
wrefresh(w1_b);
wrefresh(w2_b);
wrefresh(w3_b);
WINDOW* w1 = newwin(h-2, (w/2)-2, 1, 1);
WINDOW* w2 = newwin((h/2)-2, (w/2)-2, 1, (w/2)+1);
WINDOW* w3 = newwin((h/2)-2, (w/2)-2, (h/2)+1, (w/2)+1);
mvwprintw(w1, 1, 1, "Window 1");
mvwprintw(w2, 1, 1, "Window 2");
mvwprintw(w3, 1, 1, "Window 3");
wrefresh(w1);
wrefresh(w2);
wrefresh(w3);
getch();
endwin();
return 0;
}
Теперь, когда g=system("date");
выполняется, дата автоматически печатается на экране, даже если я буду хранить его в переменной (например, в данном случае) , Любая идея о том, что может быть неправильным?
Возможно, обман: [Как выполнить команду и получить вывод команды в C++ с помощью POSIX?] (Http://stackoverflow.com/questions/478898/how-to-execute-a-command-and-get -output-of-command-in-c-using-posix) – user4581301
Возможный дубликат [Как выполнить команду и получить вывод команды в C++ с помощью POSIX?] (http://stackoverflow.com/questions/478898/how -to-execute-a-command-and-get-output-of-command-in-c-using-posix) –