質問するログイン新規登録

質問編集履歴

2

2018/10/04 10:59

投稿

Mr.kyousuke
Mr.kyousuke

スコア13

title CHANGED
File without changes
body CHANGED
File without changes

1

2018/10/04 10:59

投稿

Mr.kyousuke
Mr.kyousuke

スコア13

title CHANGED
File without changes
body CHANGED
@@ -1,56 +1,52 @@
1
- ### 前提・実現したいこと
2
- ある関数を実行するたびに、文字列が出力されます。
3
- その文字列をリングバッファに入れて、出力をしたいのですが、
4
- 文字を入れるところで、フリーズしてしまいます。
5
- 文字列を入れるリングバッファのつくりかたを教えていただけないでしょうか。
6
-
7
-
8
- ### 試した
1
+ ```こに言語を入力
9
- 文法的に問題がありますが下に参考として示します。
10
-
11
- #define N 4
2
+ define N 4
12
-
13
3
  typedef struct _QueueD {
14
- char Datim[32];
4
+ char Datim[32];
15
5
  }QueueD;
16
6
 
17
7
  QueueD QueD[N]=
18
8
  {
19
- {NULL}
9
+ {NULL}
20
10
  };
21
11
 
22
12
  int q_num=0;
23
13
 
24
- void enqueue(char *Datetime ){
14
+ void enqueue(char *Datetime ){
25
- int i;
15
+ int i;
26
- QueueD *qDuptr;
16
+ QueueD *qDuptr;
27
- qDuptr = &QueD;
17
+ qDuptr = &QueD;
28
-
18
+
29
- strcpy((qDuptr+q_num)->Datim, Datetime);
19
+ strcpy((qDuptr+q_num)->Datim, Datetime);
30
-
20
+
31
- if(q_num == N - 1){
21
+ if(q_num == N - 1){
32
- q_num = 0;
22
+ q_num = 0;
33
- }else{
23
+ }else{
34
- q_num++;
24
+ q_num++;
35
- }
36
25
  }
26
+ }
37
27
 
38
28
  int main{
39
- char str[256];
29
+ char str[256];
40
- QueueD *datep;
30
+ QueueD *datep;
41
31
 
42
- strcpy(Que->Datim, str); //strはある動作をするたびに文字列が入力されると仮定
32
+ strcpy(Que->Datim, str); //strはある動作をするたびに文字列が入力されると仮定
43
- enqueue(str);
33
+ enqueue(str);
44
- datep = &QueD;
34
+ datep = &QueD;
45
35
 
46
- for(t=0; t < 4; t++ ){
36
+ for(t=0; t < 4; t++ ){
47
- if( f_puts( "日時:", fp ) < 0 ) goto ERR;
37
+ if( f_puts( "日時:", fp ) < 0 ) goto ERR;
48
- if( f_puts( (datep+t)->Datim, fp ) < 0 ) goto ERR;
38
+ if( f_puts( (datep+t)->Datim, fp ) < 0 ) goto ERR;
49
- if( f_puts( "\r\n", fp ) < 0 ) goto ERR;
39
+ if( f_puts( "\r\n", fp ) < 0 ) goto ERR;
50
- Trace0("終端 \r\n");
40
+ Trace0("終端 \r\n");
51
41
  }
42
+ ``### 前提・実現したいこと
43
+ ある関数を実行するたびに、文字列が出力されます。
44
+ その文字列をリングバッファに入れて、出力をしたいのですが、
45
+ 文字を入れるところで、フリーズしてしまいます。
46
+ 文字列を入れるリングバッファのつくりかたを教えていただけないでしょうか。
52
47
 
53
48
 
49
+ ### 試したこと
54
50
  ### 補足情報(FW/ツールのバージョンなど)
55
51
 
56
52
  ここにより詳細な情報を記載してください。