teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

追記2

2018/01/12 09:26

投稿

ttyp03
ttyp03

スコア17002

answer CHANGED
@@ -1,7 +1,32 @@
1
+ (追記2)
2
+ 試してみてコンパイルが通ったので、コードを載せておきます。
3
+ ```c++
4
+ class scandirTest
5
+ {
6
+ public:
7
+ void callScandir(void){
8
+ struct dirent **namelist;
9
+ int i, ndev;
10
+ ndev = scandir("/dev/input", &namelist, is_event_device, NULL);
11
+ }
12
+ private:
13
+ static int is_event_device(const struct dirent *dir){
14
+ return strncmp("event", dir->d_name, 5) == 0;
15
+ }
16
+ };
17
+
18
+ int main(void){
19
+ class scandirTest *p = new scandirTest();
20
+ p->callScandir();
21
+ }
22
+
23
+ ```
24
+ (追記1)
1
25
  すみません、良く調べずに回答してしまいました。
2
26
  is_event_deviceはscandirのコールバックとして登録するのですね。
3
27
  出直します・・・。
4
28
 
29
+
5
30
  以下は忘れてください。
6
31
 
7
32
  クラスの宣言部分を追記いただいた方が、より良い回答が得られると思います。

1

追記

2018/01/12 09:26

投稿

ttyp03
ttyp03

スコア17002

answer CHANGED
@@ -1,3 +1,9 @@
1
+ すみません、良く調べずに回答してしまいました。
2
+ is_event_deviceはscandirのコールバックとして登録するのですね。
3
+ 出直します・・・。
4
+
5
+ 以下は忘れてください。
6
+
1
7
  クラスの宣言部分を追記いただいた方が、より良い回答が得られると思います。
2
8
 
3
9
  勘ですが、そもそもis_event_device関数に渡している変数が間違っていませんか?