回答編集履歴

2

strstr を使うコードを追加

2020/05/17 12:58

投稿

kazuma-s
kazuma-s

スコア8224

test CHANGED
@@ -47,3 +47,59 @@
47
47
  &k3e:7= が先頭にあるわけでなないのですね。
48
48
 
49
49
  勘違いしていました。すみません。
50
+
51
+
52
+
53
+ **追記2**
54
+
55
+ sscanf を使うのには問題があったので、strstr を使う方法を示します。
56
+
57
+ ```C
58
+
59
+ #include <stdio.h>
60
+
61
+ #include <string.h> // strstr, memcpy
62
+
63
+
64
+
65
+ int get(const char *s, char *t)
66
+
67
+ {
68
+
69
+ const char *p = strstr(s, "&k3e:7=");
70
+
71
+ if (!p) return 0;
72
+
73
+ p += 7; // 7 = strlen("&k3e:7=");
74
+
75
+ const char *q = strstr(p, "&k87e:");
76
+
77
+ if (!q) return 0;
78
+
79
+ int n = q - p;
80
+
81
+ memcpy(t, p, n);
82
+
83
+ t[n] = '\0';
84
+
85
+ return 1;
86
+
87
+ }
88
+
89
+
90
+
91
+ int main(void)
92
+
93
+ {
94
+
95
+ char buf[1024];
96
+
97
+ if (get("&k3e:7=12345&k87e:", buf)) puts(buf);
98
+
99
+ if (get("&k3e:7=1234567&k87e:", buf)) puts(buf);
100
+
101
+ if (get("&k3e:7=abc&def&k87e:", buf)) puts(buf);
102
+
103
+ }
104
+
105
+ ```

1

問題点を追記

2020/05/17 12:58

投稿

kazuma-s
kazuma-s

スコア8224

test CHANGED
@@ -37,3 +37,13 @@
37
37
  ```
38
38
 
39
39
  ちょっと問題がありますが。
40
+
41
+
42
+
43
+ **追記**
44
+
45
+ 大きな問題がありました。
46
+
47
+ &k3e:7= が先頭にあるわけでなないのですね。
48
+
49
+ 勘違いしていました。すみません。