C-printf实现
void myprintf(const char *format,...) { va_list argptr;//参数列表 va_start(argptr, format); size_t ACTSIZE = _vscprintf(format, argptr);//内容长度,根据它给size赋值 char*buffer = (char*)malloc(ACTSIZE + 1);//分配内存空间 memset(buffer, 0, ACTSIZE + 1);//赋初值 vsnprintf(buffer, ACTSIZE + 1, format, argptr);//将值加进去 va_end(argptr); printf("%s\r\n", buffer); free(buffer);//释放内存 buffer = nullptr; } int main() { myprintf("%s,%s","123","456"); char s1tr[2000]; for(int i =0;i<2000;i++) s1tr[i]='a'; s1tr[1999]=NULL; myprintf("111 %s",s1tr); return 0; }
人间有真情,人间有真爱。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步