回答編集履歴

2

理由を追記

2021/05/23 05:10

投稿

退会済みユーザー
test CHANGED
@@ -25,3 +25,21 @@
25
25
  //////////////////////////////////
26
26
 
27
27
  ```
28
+
29
+
30
+
31
+ 前回のベストアンサーであれば変換後文字数分の「i」を指定しており、
32
+
33
+ その場合は、変換後文字数の後にヌル文字により終端が行われることになります。
34
+
35
+
36
+
37
+ 上記コードは、なぜか「j」となっており、変換前のバイト数をしていしております。
38
+
39
+ マルチバイト文字からの変換であれば、恐らく文字数とは一致してないでしょう。
40
+
41
+
42
+
43
+ デバッガで確認すればわかるものですが、変換後文字列の末尾とは異なる箇所に、
44
+
45
+ ヌル文字を代入しているため、範囲外を参照し、それが四角となって表示されているのでしょう。

1

コードの指摘を追加

2021/05/23 05:10

投稿

退会済みユーザー
test CHANGED
@@ -20,6 +20,8 @@
20
20
 
21
21
  txt[j] = L'\0';
22
22
 
23
+ // ↑ 間違えている
24
+
23
25
  //////////////////////////////////
24
26
 
25
27
  ```