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

回答編集履歴

2

追記

2021/07/23 07:26

投稿

episteme
episteme

スコア16612

answer CHANGED
@@ -20,4 +20,6 @@
20
20
  printf("\x1b[37m");
21
21
  return 0;
22
22
  }
23
- ```
23
+ ```
24
+
25
+ [追記] `\e` は 0x1b なのね... んでもコレ非標準なんで Visual C++ では失敗する...

1

追記

2021/07/23 07:26

投稿

episteme
episteme

スコア16612

answer CHANGED
@@ -1,1 +1,23 @@
1
- エスケープ文字は(`\e`じゃなく) `\x1b` では?
1
+ エスケープ文字は(`\e`じゃなく) `\x1b` では?
2
+
3
+ ```C
4
+ #include <stdio.h>
5
+ #include <stdlib.h>
6
+ #include <time.h>
7
+
8
+ int main(void)
9
+ {
10
+ srand((unsigned int)time(NULL));
11
+
12
+ char *chars[] = {"A", "B", "C"};
13
+
14
+ for(int i=0; i<20; i++)
15
+ {
16
+ printf("\x1b[37m\x1b[3%dm : ", i%8);
17
+ printf("\x1b[3%dm%c", i%8, *chars[ (rand()%3) ] );
18
+ printf("\n");
19
+ }
20
+ printf("\x1b[37m");
21
+ return 0;
22
+ }
23
+ ```