質問編集履歴

5

文章を修正

2022/08/03 06:19

投稿

退会済みユーザー
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

ソースコードを修正

2022/08/03 06:17

投稿

退会済みユーザー
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
- initscr(); //初期化
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,0,0,'a') != ERR)
40
+ if(mvwaddch(win,3,3,'a') != ERR)
52
41
  {
53
42
  std::cout<<"aaaaaa"<<std::endl;
43
+ }
54
- }else
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
- // refresh();
54
+ // refresh();
60
55
 
61
- //mvprintw(y,x,"Hello World");
62
-
63
56
  getch();
64
57
 
65
58
  endwin();//終了
66
59
 
67
- return 0;
60
+ return 0;
68
61
  }
69
62
  ```

3

文章を修正

2022/08/03 05:32

投稿

退会済みユーザー
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

文章を修正

2022/08/03 05:11

投稿

退会済みユーザー
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

文章を修正

2022/08/03 04:48

投稿

退会済みユーザー
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(x,y,3,3);
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;