回答編集履歴

1

追記

2018/04/15 16:22

投稿

LouiS0616
LouiS0616

スコア35660

test CHANGED
@@ -9,3 +9,57 @@
9
9
  }
10
10
 
11
11
  ```
12
+
13
+
14
+
15
+ 追記を受けて
16
+
17
+ ---
18
+
19
+ > 重ね重ね申し訳ないのですが、vectorを使わない方法もございますでしょうか
20
+
21
+
22
+
23
+ こんな感じでしょうか。
24
+
25
+ 『C流』のコードと、『C++流』のコードは積極的に混ぜる物ではないと思います。
26
+
27
+ その意図も込めて、下記コードでは std::string の利用は避けています。
28
+
29
+ ```C
30
+
31
+ char str[] = "123456789";
32
+
33
+ size_t len = strlen(str);
34
+
35
+
36
+
37
+ int* dst = malloc(sizeof(int) * len);
38
+
39
+ if(!dst) {
40
+
41
+ exit(1);
42
+
43
+ }
44
+
45
+
46
+
47
+ for(size_t i = 0; i < len; ++i) {
48
+
49
+ dst[i] = str[i] - '0';
50
+
51
+ }
52
+
53
+
54
+
55
+ // 色んな処理
56
+
57
+
58
+
59
+ free(dst);
60
+
61
+ ```
62
+
63
+
64
+
65
+ [VLA](https://qiita.com/raccy/items/bfcb62086c5f027d57b6)なんてものもありますが、ここではmallocを使う方法にしてみました。