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

回答編集履歴

5

指摘追加

2020/05/12 16:11

投稿

SHOMI
SHOMI

スコア4079

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

コード更新に合わせて追記

2020/05/12 16:11

投稿

SHOMI
SHOMI

スコア4079

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

文言修正

2020/05/12 16:08

投稿

SHOMI
SHOMI

スコア4079

answer CHANGED
@@ -14,5 +14,5 @@
14
14
  - 受信側
15
15
  etsuhisaさんも指摘されているようにデータを受け取る前に`fwrite`を呼んでしまっています。
16
16
  ほかにぱっと見で気づいた点。
17
- ・初期化されていない`send_size`をwhileの条件式使用している。
17
+ `data.send_size`に修正したとしても、初期化されていないままwhileの条件式使用している。
18
18
  ・`fwrite`の書き込みサイズが受信した`data.send_size`を使用せず`1024`固定になっている。

2

受信側問題点追記

2020/05/12 15:09

投稿

SHOMI
SHOMI

スコア4079

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

文言修正

2020/05/12 15:03

投稿

SHOMI
SHOMI

スコア4079

answer CHANGED
@@ -1,3 +1,3 @@
1
- コンパイラのエラーの通り`mtype``send_size`が宣言されていません。
1
+ コンパイラのエラーの通り`send_size`(と`mtype`)が宣言されていません。
2
2
  `data.mtype`や`data.send_size`の誤りでしょう。
3
3
  あといくつか全角スペースが入っています。