質問編集履歴
6
追記
title
CHANGED
File without changes
|
body
CHANGED
@@ -39,7 +39,7 @@
|
|
39
39
|
環境はUbuntu 16.04 32bitです
|
40
40
|
|
41
41
|
追記4
|
42
|
-
以下のコードを試したのですが、失敗しました
|
42
|
+
以下のコードを試したのですが、失敗しました(./targetはcをコンパイルした実行ファイルです)
|
43
43
|
```python
|
44
44
|
p = subprocess.Popen(['./target'], stdout=subprocess.PIPE, stdin=subprocess.PIPE)
|
45
45
|
msg = p.stdout.readline()
|
5
Popenの結果を追記
title
CHANGED
File without changes
|
body
CHANGED
@@ -36,4 +36,20 @@
|
|
36
36
|
C側のプログラムは変更できないです。
|
37
37
|
|
38
38
|
追記3
|
39
|
-
環境はUbuntu 16.04 32bitです
|
39
|
+
環境はUbuntu 16.04 32bitです
|
40
|
+
|
41
|
+
追記4
|
42
|
+
以下のコードを試したのですが、失敗しました
|
43
|
+
```python
|
44
|
+
p = subprocess.Popen(['./target'], stdout=subprocess.PIPE, stdin=subprocess.PIPE)
|
45
|
+
msg = p.stdout.readline()
|
46
|
+
print(msg)
|
47
|
+
p.stdin.write(datas)
|
48
|
+
```
|
49
|
+
プロセスの起動は確認しました。
|
50
|
+
```
|
51
|
+
$ ps aux | grep target
|
52
|
+
user 6406 0.0 0.0 2208 532 pts/19 S+ 16:09 0:00 ./target
|
53
|
+
```
|
54
|
+
しかし、起動してもreadline()が実行されず、ずっと待ち状態になります。
|
55
|
+
改善点がありましたら、ご教授ください。
|
4
環境を追記
title
CHANGED
File without changes
|
body
CHANGED
@@ -33,4 +33,7 @@
|
|
33
33
|
Cのプログラムは起動していて、scanf()の部分で入力待ちになっている状態です。
|
34
34
|
|
35
35
|
追記2
|
36
|
-
C側のプログラムは変更できないです。
|
36
|
+
C側のプログラムは変更できないです。
|
37
|
+
|
38
|
+
追記3
|
39
|
+
環境はUbuntu 16.04 32bitです
|
3
修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -30,4 +30,7 @@
|
|
30
30
|
|
31
31
|
|
32
32
|
追記
|
33
|
-
Cのプログラムは起動していて、scanf()の部分で入力待ちになっている状態です。
|
33
|
+
Cのプログラムは起動していて、scanf()の部分で入力待ちになっている状態です。
|
34
|
+
|
35
|
+
追記2
|
36
|
+
C側のプログラムは変更できないです。
|
2
修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -26,4 +26,8 @@
|
|
26
26
|
|
27
27
|
datas += datas2
|
28
28
|
```
|
29
|
-
この変数datasの値を、Cのscanf()に渡したいのですが、どうすればよいでしょうか
|
29
|
+
この変数datasの値を、Cのscanf()に渡したいのですが、どうすればよいでしょうか
|
30
|
+
|
31
|
+
|
32
|
+
追記
|
33
|
+
Cのプログラムは起動していて、scanf()の部分で入力待ちになっている状態です。
|
1
gozi
title
CHANGED
File without changes
|
body
CHANGED
@@ -7,7 +7,7 @@
|
|
7
7
|
char input[100] = "";
|
8
8
|
printf("input\n");
|
9
9
|
scanf("%s", input);
|
10
|
-
printf("%s\n",
|
10
|
+
printf("%s\n", input);
|
11
11
|
}
|
12
12
|
|
13
13
|
int main()
|