質問編集履歴

3

エラー内容の更新

2022/05/15 17:06

投稿

karintage
karintage

スコア5

test CHANGED
File without changes
test CHANGED
@@ -5,10 +5,13 @@
5
5
  関数内で一次元配列から','ごとのワードを取り出す。
6
6
  取り出した文字列を二次元配列にコピーすること。
7
7
  ### エラー内容
8
- main関数で二次元配列を出力すると文字化けする。
8
+ 二次元配列に単語がコピーされていない
9
- ### ソースコード
9
+
10
- 以下にソースコードを添付します。
11
- split_word関数内21行目のprintfでは正しく出力されるのですが、main関数内16行目のprintfでは文字化けします。
10
+ split_word関数内22行目のprintfではコピーが確認きますが、main関数内16行目のprintfでは
11
+ data[0]=score
12
+ data[1]=NULL
13
+ data[2]=NULL
14
+ と出力されました。
12
15
 
13
16
  >質問に関する変数の説明
14
17
  > string[100]:文字列が格納されている一次元配列
@@ -19,6 +22,7 @@
19
22
  > data[0]=ID
20
23
  > data[1]=name
21
24
  > data[2]=score
25
+ ### ソースコード
22
26
 
23
27
 
24
28
  ```C
@@ -30,6 +34,7 @@
30
34
  split_word(char *input , char *data , int start_pos ) {
31
35
  int in_start_pos , in_end_pos , in_pos ,out_pos ;
32
36
  char words[100];
37
+ input[strlen(input)-1]='\0';
33
38
  /* ,で区切られた単語を取り出す
34
39
  /* 単語の先頭位置を探す */
35
40
  for(in_start_pos=start_pos;input[in_start_pos]!='\0'&&input[in_start_pos]==',';in_start_pos++) ;

2

問題点を大幅に変更しました

2022/05/15 16:53

投稿

karintage
karintage

スコア5

test CHANGED
File without changes
test CHANGED
@@ -2,12 +2,13 @@
2
2
  ','で区切られた、一次元配列に格納されている文字列を二次元配列にコピーする。
3
3
 
4
4
  ### 達成していること
5
- 一次元配列から','ごとのワードを取り出す。
5
+ 関数内で一次元配列から','ごとのワードを取り出す。
6
- ### 達成できていないこと
7
- 取り出した文字列を二次元配列にコピーすること。二次元配列を出力すると文字化けになる。
6
+ 取り出した文字列を二次元配列にコピーすること。
7
+ ### エラー内容
8
+ main関数で二次元配列を出力すると文字化けする。
8
9
  ### ソースコード
9
10
  以下にソースコードを添付します。
10
- 26行目のstrcpyが原因かと考えますが、対処法がわかりせん
11
+ split_word関数内21行目のprintfでは正しく出力されるのですが、main関数内16行目のprintfでは文字化けし
11
12
 
12
13
  >質問に関する変数の説明
13
14
  > string[100]:文字列が格納されている一次元配列
@@ -43,9 +44,9 @@
43
44
  }
44
45
  /* 終端記号をコピーする */
45
46
  words[out_pos] = '\0' ;
46
- printf("words->%s\n",words);
47
47
 
48
48
  strcpy(data,words);
49
+ printf("data->%s\n",data);
49
50
  return in_end_pos+1;
50
51
  }
51
52
 

1

体裁の変更

2022/05/15 16:40

投稿

karintage
karintage

スコア5

test CHANGED
File without changes
test CHANGED
@@ -1,8 +1,11 @@
1
+ ### 目標
1
- 目標:','で区切られた、一次元配列に格納されている文字列を二次元配列にコピーする。
2
+ ','で区切られた、一次元配列に格納されている文字列を二次元配列にコピーする。
2
3
 
4
+ ### 達成していること
3
- 達成していること:一次元配列から','ごとのワードを取り出す。
5
+ 一次元配列から','ごとのワードを取り出す。
6
+ ### 達成できていないこと
4
- 達成できていないこと:取り出した文字列を二次元配列にコピーすること。二次元配列を出力すると文字化けになる。
7
+ 取り出した文字列を二次元配列にコピーすること。二次元配列を出力すると文字化けになる。
5
-
8
+ ### ソースコード
6
9
  以下にソースコードを添付します。
7
10
  26行目のstrcpyが原因かと考えますが、対処法がわかりません。
8
11