質問編集履歴
5
文章を修正
test
CHANGED
@@ -1 +1 @@
|
|
1
|
-
cursesライブラリ ウインドウ
|
1
|
+
cursesライブラリ ウインドウを描画する方法が知りたいwrefresh()関数が機能しない理由が知りたい
|
test
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
提示コードですがコンソールに文字が表示されない原因が知りたいです。コンソール画面でウインドウに文字を描画する関数`mvwaddch()`のが成功しているかどうかを確かめていますが成功しています。また値を決め打ちにして色々な値を入れましたが表示されません。これはなぜでしょうか?
|
1
|
+
提示コードですがコンソールに文字が表示されない原因が知りたいです。コンソール画面でウインドウに文字を描画する関数`mvwaddch()`のが成功しているかどうかを確かめていますが成功しています。また値を決め打ちにして色々な値を入れましたが表示されません。これはなぜでしょうか?おそらくウインドウに文字は書き込まれているがそれを上手く描画されていないのだと思うんですがどやって描画するのでしょうか?
|
2
2
|
|
3
3
|
|
4
4
|
##### 参考サイト
|
4
ソースコードを修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -21,6 +21,7 @@
|
|
21
21
|
```cpp
|
22
22
|
#include <Magick++.h>
|
23
23
|
#include <ncurses.h>
|
24
|
+
#include <curses.h>
|
24
25
|
#include <filesystem>
|
25
26
|
#include <iostream>
|
26
27
|
#include <list>
|
@@ -30,40 +31,32 @@
|
|
30
31
|
#include "FileData.hpp"
|
31
32
|
|
32
33
|
int main(int argc,char *argv[])
|
33
|
-
{
|
34
|
+
{
|
35
|
+
initscr(); //初期化
|
34
36
|
|
37
|
+
WINDOW *win;
|
35
|
-
ini
|
38
|
+
win = newwin(10,10,1,1);
|
36
39
|
|
37
|
-
|
38
|
-
int x,y;
|
39
|
-
int h,w;
|
40
|
-
std::string str = "Hello World";
|
41
|
-
WINDOW *win;
|
42
|
-
win = newwin(10,10,3,3);
|
43
|
-
// std::cout<<str.length()<<std::endl;
|
44
|
-
getmaxyx(win,h,w);
|
45
|
-
std::cout<<w<<std::endl;
|
46
|
-
std::cout<<h<<std::endl;
|
47
|
-
y = h / 2;
|
48
|
-
x = (w / 2) - (strlen(str.c_str()) / 2);
|
49
|
-
|
50
|
-
// box(win,0,0);
|
51
|
-
if(mvwaddch(win,
|
40
|
+
if(mvwaddch(win,3,3,'a') != ERR)
|
52
41
|
{
|
53
42
|
std::cout<<"aaaaaa"<<std::endl;
|
43
|
+
}
|
54
|
-
|
44
|
+
else
|
55
45
|
{
|
56
46
|
std::cout<<"bbb"<<std::endl;
|
57
47
|
}
|
48
|
+
|
49
|
+
// mvaddstr(0,0,"Hello World");
|
50
|
+
|
51
|
+
//touchwin(win);
|
58
52
|
wrefresh(win);
|
53
|
+
//clear();
|
59
|
-
//
|
54
|
+
// refresh();
|
60
55
|
|
61
|
-
//mvprintw(y,x,"Hello World");
|
62
|
-
|
63
56
|
getch();
|
64
57
|
|
65
58
|
endwin();//終了
|
66
59
|
|
67
|
-
|
60
|
+
return 0;
|
68
61
|
}
|
69
62
|
```
|
3
文章を修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -6,7 +6,7 @@
|
|
6
6
|
mvwaddch: https://nxmnpg.lemoda.net/ja/3/mvwaddch
|
7
7
|
wrefresh: https://nxmnpg.lemoda.net/ja/3/wrefresh
|
8
8
|
使用例:https://tldp.org/HOWTO/NCURSES-Programming-HOWTO/windows.html
|
9
|
-
|
9
|
+
関数リファレンス:http://www.kis-lab.com/serikashiki/man/ncurses.html
|
10
10
|
|
11
11
|
##### コンソール
|
12
12
|
```
|
2
文章を修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -5,7 +5,7 @@
|
|
5
5
|
newwin: https://nxmnpg.lemoda.net/ja/3/newwin#2
|
6
6
|
mvwaddch: https://nxmnpg.lemoda.net/ja/3/mvwaddch
|
7
7
|
wrefresh: https://nxmnpg.lemoda.net/ja/3/wrefresh
|
8
|
-
|
8
|
+
使用例:https://tldp.org/HOWTO/NCURSES-Programming-HOWTO/windows.html
|
9
9
|
|
10
10
|
|
11
11
|
##### コンソール
|
1
文章を修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -39,7 +39,7 @@
|
|
39
39
|
int h,w;
|
40
40
|
std::string str = "Hello World";
|
41
41
|
WINDOW *win;
|
42
|
-
win = newwin(
|
42
|
+
win = newwin(10,10,3,3);
|
43
43
|
// std::cout<<str.length()<<std::endl;
|
44
44
|
getmaxyx(win,h,w);
|
45
45
|
std::cout<<w<<std::endl;
|