回答編集履歴
3
tcharの扱いについてちょっとミスがあったため修正
answer
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
```c
|
4
4
|
TCHAR buf[80];
|
5
|
-
_tcsftime(buf, sizeof(buf), "%Y-%m-%d %H:%M:%S", bar);
|
5
|
+
_tcsftime(buf, sizeof(buf)/sizeof(TCHAR), "%Y-%m-%d %H:%M:%S", bar);
|
6
6
|
```
|
7
7
|
|
8
8
|
---
|
@@ -23,9 +23,9 @@
|
|
23
23
|
time_t foo = 946728000 + x;
|
24
24
|
tm *bar = gmtime(&foo);
|
25
25
|
TCHAR buf[80];
|
26
|
-
_tcsftime(buf, sizeof(buf), _T("%Y-%m-%d %H:%M:%S"), bar);
|
26
|
+
_tcsftime(buf, sizeof(buf)/sizeof(TCHAR), _T("%Y-%m-%d %H:%M:%S"), bar);
|
27
27
|
|
28
|
-
draw_text(buf, sizeof(buf));
|
28
|
+
draw_text(buf, sizeof(buf)/sizeof(TCHAR));
|
29
29
|
}
|
30
30
|
|
31
31
|
int main(){
|
2
追記
answer
CHANGED
@@ -3,4 +3,34 @@
|
|
3
3
|
```c
|
4
4
|
TCHAR buf[80];
|
5
5
|
_tcsftime(buf, sizeof(buf), "%Y-%m-%d %H:%M:%S", bar);
|
6
|
-
```
|
6
|
+
```
|
7
|
+
|
8
|
+
---
|
9
|
+
|
10
|
+
```C++
|
11
|
+
#include <windows.h>
|
12
|
+
#include <tchar.h>
|
13
|
+
#include <ctime>
|
14
|
+
|
15
|
+
void draw_text(TCHAR str[], size_t len){
|
16
|
+
HWND desktop = GetDesktopWindow();
|
17
|
+
HDC hdc = GetWindowDC(desktop);
|
18
|
+
TextOut(hdc, 0,0, str, _tcsnlen(str, len));
|
19
|
+
UpdateWindow(desktop);
|
20
|
+
}
|
21
|
+
|
22
|
+
void draw_asdf(time_t x){
|
23
|
+
time_t foo = 946728000 + x;
|
24
|
+
tm *bar = gmtime(&foo);
|
25
|
+
TCHAR buf[80];
|
26
|
+
_tcsftime(buf, sizeof(buf), _T("%Y-%m-%d %H:%M:%S"), bar);
|
27
|
+
|
28
|
+
draw_text(buf, sizeof(buf));
|
29
|
+
}
|
30
|
+
|
31
|
+
int main(){
|
32
|
+
draw_asdf(100);
|
33
|
+
}
|
34
|
+
```
|
35
|
+
|
36
|
+
`gcc version 8.2.0 (Rev3, Built by MSYS2 project)`にて動作確認しました。
|
1
修正
answer
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
`_tcsftime`を用いてください。
|
2
2
|
|
3
3
|
```c
|
4
|
-
|
4
|
+
TCHAR buf[80];
|
5
5
|
_tcsftime(buf, sizeof(buf), "%Y-%m-%d %H:%M:%S", bar);
|
6
6
|
```
|