vs2019触发断点求解

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<graphics.h>
#include<stdlib.h>
#include<time.h>

char str[10] = " ";
char* numtochar(int NUM) {
sprintf_s(str, "当前时间: %d", NUM);
return str;
}
int main() {
int a = 0;
int i = 0;
initgraph(400, 500);
outtextxy(0, 0, numtochar(i));
a=getchar();
closegraph();
return 0;
}

img

vs2019在进行调试的时候,是ourtextxy函数发生了错误,但我不知道是哪里出现了错误,求解.

看错误提示是内存太小了
看代码的话,显然sprintf_s(str, "当前时间: %d", NUM);这句中,str数组只定义了10个字符,肯定不够啊。一个中文占多个字符的。改成char str[100],不要太小气了。

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632