gpt4 book ai didi

c - wsprintf 将我限制为 1024 个字符?

转载 作者:行者123 更新时间:2023-11-30 21:14:50 25 4
gpt4 key购买 nike

基于 wsprintf 的文档,它将输出缓冲区限制为 1024 字节。如果我需要存储的文本大于 1024 字节怎么办?我如何扩展此限制,或者我可以使用什么替代方案而不需要我使用 lstrcat 或类似的?

char output[4096];
wsprintf(output, "%s", input); // assume input is a piece of text > 1024 characters
printf(output); // only prints the first 1024 characters

如何将输入中的所有字符复制到输出中,超出 wsprintf 的限制1024 字节?

最佳答案

您可以使用标准函数 snprintfswprintf。他们没有这样的限制:

char output[4096];
int length = snprintf(output, sizeof output, "%02000d", 1);
// should print 2000 zeros:
printf("length=%d output=%s\n", length, output);

swprintfwchar_t 的等效函数:

wchar_t output[4096];
int length = swprintf(output, sizeof output / sizeof *output, "%02000d", 1);
// should print 2000 zeros:
printf("length=%d output=%Ls\n", length, output);

关于c - wsprintf 将我限制为 1024 个字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34554662/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com