Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/160.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
编译期间MSVC中的字符串长度限制? 我将C++代码从Linux转换成Windows(使用Visual Studio 2013)。但是MSVC对字符串有长度限制(大约2048字节?),而GCC没有。我的问题是,有一个配置文件包含几个巨大的字符串,它在GCC下运行良好。但MSVC报告编译错误为_C++_Gcc_String Length - Fatal编程技术网

编译期间MSVC中的字符串长度限制? 我将C++代码从Linux转换成Windows(使用Visual Studio 2013)。但是MSVC对字符串有长度限制(大约2048字节?),而GCC没有。我的问题是,有一个配置文件包含几个巨大的字符串,它在GCC下运行良好。但MSVC报告编译错误为

编译期间MSVC中的字符串长度限制? 我将C++代码从Linux转换成Windows(使用Visual Studio 2013)。但是MSVC对字符串有长度限制(大约2048字节?),而GCC没有。我的问题是,有一个配置文件包含几个巨大的字符串,它在GCC下运行良好。但MSVC报告编译错误为,c++,gcc,string-length,C++,Gcc,String Length,错误C2026:字符串太大,尾随字符被截断 字符串非常简单,CONFIGSTRING很大 const std::string CONFIGSTRING="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"; 这个问题有什么解决办法吗?我是否可以在windows下使用GCC将配置文件单独编译为对象文件,并将其链接到其他文件?如果可能的话,任何人都可以简单地告诉我怎么做?根据MSDN文档,这应该可以: const std::string str = "xxxx" // Max 20

错误C2026:字符串太大,尾随字符被截断

字符串非常简单,
CONFIGSTRING
很大

const std::string CONFIGSTRING="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";

这个问题有什么解决办法吗?我是否可以在windows下使用GCC将配置文件单独编译为对象文件,并将其链接到其他文件?如果可能的话,任何人都可以简单地告诉我怎么做?

根据MSDN文档,这应该可以:

const std::string str =
  "xxxx" // Max 2048 bytes
  "xxxx" // Max 2048 bytes
         // ... and so on (up to 65535 bytes)
  ;
如果这仍然不够,请执行以下操作:

std::string str;
str = "part1";
str += "part2";
str += "part3"; // And so on.

我是否可以在windows下使用GCC将配置文件单独编译为对象文件,并将其链接到其他文件


不,它们使用的是不同的C++标准库。

你在谈论什么样的字符串?代码>标准::字符串?您可以发布一行代码来表示您试图解决的问题吗?@NathanOliver已经按照建议()执行了,但示例是“char sz[]=”,我的案例是“string CONFIGSTRING=“xxxxxxxx”。不确定()是否适用于字符串。它将起作用。编译器抱怨的不是
const std::string
,而是你用来构造它的非常大的字符串文本。我可以确认第一种方法是有效的,我将我的字符串分成2000字节的段,总计30000字节。