如何在另一个字符串中附加5000次字符串。?

时间:2013-12-09 07:08:52

标签: c++ visual-c++ mfc cstring

我正在尝试将字符串“\ r \ n”追加到另一个字符串中5000次。我想尝试

CStringW str1 = L"";
for(int i=0; i<5000; i++)
{
str1 = str1 + L"\r\n";
}

在调试模式和VS 6.0的Windows XP发布模式下似乎工作正常。 它似乎也在Windows 7的调试模式下工作。 但是在Windows 7的某些时候,它会在追加时崩溃。

有什么想法吗?我需要以哪种方式追加。

谢谢,

2 个答案:

答案 0 :(得分:-2)

我不是程序员,所以我不使用这个类,但我看到你写的“有时会崩溃”。这让我觉得这是一个内存问题。 因此我会在开始追加之前尝试使用像GetBufferSetLength()这样的东西,并检查我确实得到了一个有效的指针。 (我想这就像预订())

答案 1 :(得分:-3)

或许,这一行:

str1 = str1 + "\r\n";

应改为:

str1 = str1 + L"\r\n";

使用不同的字符宽度可能会发生奇怪的事情。否则,我不确定为什么这个程序会崩溃。