質問編集履歴

3

編集

2020/06/21 11:58

投稿

KZK13
KZK13

スコア43

test CHANGED
File without changes
test CHANGED
@@ -107,3 +107,15 @@
107
107
  ```
108
108
 
109
109
  https://pastebin.com/LXvvumLs
110
+
111
+
112
+
113
+ ちなみに、あの後細かくコメントを書いたのですが、GetKeyInputString(buffer, InputHandle);に関するコメントは以下のように書いて合っていますでしょうか?
114
+
115
+ ```
116
+
117
+ GetKeyInputString(buffer, InputHandle);//ここでInputHandleに入力された文字列の数値をGetKeyInputStringにより文字コードに変換したものを上でchar型で定義したbufferに入れる。
118
+
119
+
120
+
121
+ ```

2

編集

2020/06/21 11:58

投稿

KZK13
KZK13

スコア43

test CHANGED
File without changes
test CHANGED
@@ -39,3 +39,71 @@
39
39
  何がダメなのでしょうか?デバッグでは値に問題はありませんでした。
40
40
 
41
41
  [他の自作関数でのコード](https://pastebin.com/XZLs6mhH)
42
+
43
+
44
+
45
+ 今現在のコードを正しく書き直したコードです。
46
+
47
+ if (strstr(input.c_str(), "映画") == 0&& strstr(input.c_str(), "好きです") == 0) の部分が==0と書いてしまったため映画、好きです、等しくない、すなわち入ってないときが真になってしまうので正しく動いていませんでした。なので if (strstr(input.c_str(), "映画")&& strstr(input.c_str(), "好きです")) と直しました。
48
+
49
+ https://pastebin.com/zhWJjWGv
50
+
51
+
52
+
53
+ 他の自作関数での正しく書いたコードです。
54
+
55
+ 他の自作関数を以下のように修正しました。
56
+
57
+ ```
58
+
59
+ int my_str2(const char* s1, const char* s2)//ここで入力した文字列と用意された文字列を引数として扱う。
60
+
61
+
62
+
63
+ {
64
+
65
+ //s1, s2を比較する関数を使うためだけにs2の文字列のサイズが必要なので、変数aに用意した文字列の情報s2を文字列の長さを測るための関数strlenに引数として渡す。
66
+
67
+ const size_t a = strlen(s2);
68
+
69
+ //無限ループする。
70
+
71
+ for (;;) {
72
+
73
+ //関数memcmpの返り値が0の時は一致した時なので、==0とする。
74
+
75
+ if (memcmp(s1, s2, a) == 0)
76
+
77
+
78
+
79
+ return 1;//入力した文字列にい指定された文字列が入っていた場合は1を返すように設定した。
80
+
81
+ //入力した文字列が最後の文字まで到達した場合は一致する文字列がないということなので0を返すようにした。
82
+
83
+ else if (*s1 == '\0')
84
+
85
+
86
+
87
+ return 0;//入っていなかった
88
+
89
+ //文字列が一致した場合でも一致する文字列がない場合でも入力した文字列の一文字分の文字コードのバイト数?が繰り上がるようにした。
90
+
91
+ else
92
+
93
+
94
+
95
+ ++s1;
96
+
97
+
98
+
99
+ }
100
+
101
+
102
+
103
+ }
104
+
105
+
106
+
107
+ ```
108
+
109
+ https://pastebin.com/LXvvumLs

1

hennsyu

2020/06/21 08:01

投稿

KZK13
KZK13

スコア43

test CHANGED
File without changes
test CHANGED
@@ -27,3 +27,15 @@
27
27
  今現在のプログラムです。
28
28
 
29
29
  [コード](https://pastebin.com/2s4g9a29)
30
+
31
+
32
+
33
+
34
+
35
+ あの後、他の自作関数で書いてみたのですが、
36
+
37
+ なぜか映画、好きですで違う返事が返ってきます。
38
+
39
+ 何がダメなのでしょうか?デバッグでは値に問題はありませんでした。
40
+
41
+ [他の自作関数でのコード](https://pastebin.com/XZLs6mhH)