質問編集履歴
4
つけたしたから
title
CHANGED
File without changes
|
body
CHANGED
@@ -11,7 +11,7 @@
|
|
11
11
|
```C
|
12
12
|
int main(void){
|
13
13
|
|
14
|
-
char str[]="abc,xyz,012"; //strは自分でmain関数を開き,下のprintfに直接書き込んでも良い
|
14
|
+
char str[]="abc,xyz,012"; //strは自分でmain関数を開き,下のprintf文の関数呼び出しの引数部分に直接書き込んでも良い
|
15
15
|
char str_ans[];
|
16
16
|
//実行結果(表示形式)
|
17
17
|
printf("%s¥n",myStrtok(str,str_ans)); //abc
|
3
文章を付け足した
title
CHANGED
File without changes
|
body
CHANGED
@@ -3,7 +3,9 @@
|
|
3
3
|
strtok関数を自作する上でのアルゴリズムのヒントなどをご教授していただけると幸いです。
|
4
4
|
|
5
5
|
ちなみに今回の関数では、第1引数がNULLのときは前回の文字列の探索の続きを行えるように、新しく文字列が与えられたら最初から、切り出しが終了したらNULLを返せるようにする条件が付いています。
|
6
|
+
可能であればカンマ(区切り文字)が連続した際に返す文字も工夫してください(私の場合はとりあえずNULLにしますが)。
|
6
7
|
|
8
|
+
|
7
9
|
イメージ的にはこんな感じにしたいです(下)
|
8
10
|
|
9
11
|
```C
|
2
プログラムソースを付け足した
title
CHANGED
File without changes
|
body
CHANGED
@@ -7,11 +7,16 @@
|
|
7
7
|
イメージ的にはこんな感じにしたいです(下)
|
8
8
|
|
9
9
|
```C
|
10
|
-
char str[]="abc,xyz,012";
|
11
|
-
|
10
|
+
int main(void){
|
12
11
|
|
12
|
+
char str[]="abc,xyz,012"; //strは自分でmain関数を開き,下のprintfに直接書き込んでも良い
|
13
|
+
char str_ans[];
|
14
|
+
//実行結果(表示形式)
|
13
|
-
myStrtok(str,str_ans); //abc
|
15
|
+
printf("%s¥n",myStrtok(str,str_ans)); //abc
|
14
|
-
myStrtok(NULL,str_ans); //xyz
|
16
|
+
printf("%s¥n",myStrtok(NULL,str_ans)); //xyz
|
15
|
-
myStrtok(NULL,str_ans); //012
|
17
|
+
printf("%s¥n",myStrtok(NULL,str_ans)); //012
|
16
|
-
myStrtok(NULL,str_ans); //NULL
|
18
|
+
printf("%s¥n",myStrtok(NULL,str_ans)); //NULL
|
19
|
+
|
20
|
+
return 0;
|
21
|
+
}
|
17
22
|
```
|
1
プログラムソースの記述の誤り
title
CHANGED
File without changes
|
body
CHANGED
@@ -10,8 +10,8 @@
|
|
10
10
|
char str[]="abc,xyz,012";
|
11
11
|
char str_ans[];
|
12
12
|
|
13
|
-
myStrtok(str,
|
13
|
+
myStrtok(str,str_ans); //abc
|
14
|
-
myStrtok(NULL,
|
14
|
+
myStrtok(NULL,str_ans); //xyz
|
15
|
-
myStrtok(NULL,
|
15
|
+
myStrtok(NULL,str_ans); //012
|
16
|
-
myStrtok(NULL,
|
16
|
+
myStrtok(NULL,str_ans); //NULL
|
17
17
|
```
|