首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >错误C2026:字符串太大,未跟踪尾随字符

错误C2026:字符串太大,未跟踪尾随字符
EN

Stack Overflow用户
提问于 2015-04-30 19:26:01
回答 2查看 3.1K关注 0票数 4

我有一个很大的问题,我不知道如何解决它。

我想解码一个非常长的Base64编码字符串(980.000个字符),但每次我调试它时都会收到这个错误:

错误C2026:字符串太大,未跟踪尾随字符

我试过了,但是我只能通过这个方法比较2个字符串

代码语言:javascript
复制
char* toHash1 = "LONG BASE 64 Code";
char* toHash2 = "LONG BASE 64 Code";

if (true) {
  sprintf_s(output, outputSize, "%s", base64_decode(toHash1 =+ toHash2).c_str());
}

有人知道我怎么才能让它工作吗?

EN

回答 2

Stack Overflow用户

发布于 2015-04-30 21:34:56

正如here文档所述,在使用MSVC时,字符串文字中只能包含大约2048个字符。您可以通过连接获得最多65535个字符,但由于这仍然太短,您不能在这里使用字符串文字。

一种解决方案是将字符串从文件读取到某个已分配的char缓冲区中。我不知道gcc和clang有什么这样的限制,所以尝试用它们来代替MSVC也可以解决这个问题。

票数 4
EN

Stack Overflow用户

发布于 2016-08-21 08:46:24

您可以首先将字符串转换为十六进制,然后可以像这样包含它。

代码语言:javascript
复制
char data[] = {0xde,0xad,0xbe,0xef};  //example

然后可以像字符串一样使用它,如果需要,可以附加null结束符。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29966471

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档