我正在尝试将字符串“\ 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的某些时候,它会在追加时崩溃。
有什么想法吗?我需要以哪种方式追加。
谢谢,
答案 0 :(得分:-2)
我不是程序员,所以我不使用这个类,但我看到你写的“有时会崩溃”。这让我觉得这是一个内存问题。 因此我会在开始追加之前尝试使用像GetBufferSetLength()这样的东西,并检查我确实得到了一个有效的指针。 (我想这就像预订())
答案 1 :(得分:-3)
或许,这一行:
str1 = str1 + "\r\n";
应改为:
str1 = str1 + L"\r\n";
使用不同的字符宽度可能会发生奇怪的事情。否则,我不确定为什么这个程序会崩溃。