回答編集履歴
5
指摘追加
answer
CHANGED
@@ -16,4 +16,9 @@
|
|
16
16
|
ほかにぱっと見で気づいた点。
|
17
17
|
・`data.send_size`に修正したとしても、初期化されていないままwhileの条件式に使用している。
|
18
18
|
(追記)コードが更新されましたが、0初期化した後1024と比較しているため一度もループ実行されません。
|
19
|
-
・`fwrite`の書き込みサイズが受信した`data.send_size`を使用せず`1024`固定になっている。
|
19
|
+
・`fwrite`の書き込みサイズが受信した`data.send_size`を使用せず`1024`固定になっている。
|
20
|
+
・条件式が代入文になっています。
|
21
|
+
```diff
|
22
|
+
-if(errno=ENOMSG)
|
23
|
+
+if(errno==ENOMSG)
|
24
|
+
```
|
4
コード更新に合わせて追記
answer
CHANGED
@@ -15,4 +15,5 @@
|
|
15
15
|
etsuhisaさんも指摘されているようにデータを受け取る前に`fwrite`を呼んでしまっています。
|
16
16
|
ほかにぱっと見で気づいた点。
|
17
17
|
・`data.send_size`に修正したとしても、初期化されていないままwhileの条件式に使用している。
|
18
|
+
(追記)コードが更新されましたが、0初期化した後1024と比較しているため一度もループ実行されません。
|
18
19
|
・`fwrite`の書き込みサイズが受信した`data.send_size`を使用せず`1024`固定になっている。
|
3
文言修正
answer
CHANGED
@@ -14,5 +14,5 @@
|
|
14
14
|
- 受信側
|
15
15
|
etsuhisaさんも指摘されているようにデータを受け取る前に`fwrite`を呼んでしまっています。
|
16
16
|
ほかにぱっと見で気づいた点。
|
17
|
-
・初期化されていない
|
17
|
+
・`data.send_size`に修正したとしても、初期化されていないままwhileの条件式に使用している。
|
18
18
|
・`fwrite`の書き込みサイズが受信した`data.send_size`を使用せず`1024`固定になっている。
|
2
受信側問題点追記
answer
CHANGED
@@ -1,3 +1,18 @@
|
|
1
1
|
コンパイラのエラーの通り`send_size`(と`mtype`)が宣言されていません。
|
2
2
|
`data.mtype`や`data.send_size`の誤りでしょう。
|
3
|
-
あといくつか全角スペースが入っています。
|
3
|
+
あといくつか全角スペースが入っています。
|
4
|
+
|
5
|
+
---
|
6
|
+
|
7
|
+
> Recieve 0: (ここにバイナリの文字が3文字ランダムで表示されている状態です)
|
8
|
+
|
9
|
+
`fputs(b.mtext,stdout);`
|
10
|
+
で初期化されていない`b.mtext`を出力しているためです。
|
11
|
+
|
12
|
+
---
|
13
|
+
|
14
|
+
- 受信側
|
15
|
+
etsuhisaさんも指摘されているようにデータを受け取る前に`fwrite`を呼んでしまっています。
|
16
|
+
ほかにぱっと見で気づいた点。
|
17
|
+
・初期化されていない`send_size`をwhileの条件式で使用している。
|
18
|
+
・`fwrite`の書き込みサイズが受信した`data.send_size`を使用せず`1024`固定になっている。
|
1
文言修正
answer
CHANGED
@@ -1,3 +1,3 @@
|
|
1
|
-
コンパイラのエラーの通り`
|
1
|
+
コンパイラのエラーの通り`send_size`(と`mtype`)が宣言されていません。
|
2
2
|
`data.mtype`や`data.send_size`の誤りでしょう。
|
3
3
|
あといくつか全角スペースが入っています。
|