1

奇怪的是,以下字符串在结尾之前停止:

#include <iostream>
#include <string>

using std::wcout;
using std::wstring;


int main()
{
    wstring test = L"Os elfos compõem uma raça atlética e esguia, da mesma altura dos humanos. Eles apresentam a mesma variedade de compleições dos humanos, mas costumam ser mais bronzeados ou morenos. A cor típica do cabelo de um elfo é marrom escuro, ruivo escuro, verde musgo ou dourado escuro. As orelhas dos elfos são longas e pontiagudas, seus olhos são azuis, violetas ou verdes vibrantes. Esse povo tem poucos pêlos no corpo, mas prefere manter uma aparência selvagem e embaraçada nos cabelos.\nOs elfos atingem a maturidade na mesma velocidade que os humanos, mas demonstram pouquíssimos efeitos do envelhecimento depois da idade adulta. O primeiro sinal da idade avançada de um elfo geralmente é uma mudança na cor dos cabelos — muitas vezes ficando grisalhos, mas quase sempre escurecendo ou assumindo cores mais castanhas. A maioria dos elfos vive bem até os 200 anos de idade e permanecem vigorosos até o fim.";
    wcout << test;
    return 0;
}

输出:

Os elfos comp§em uma raþa atlÚtica e esguia, da mesma altura dos humanos. Eles apresentam a mesma variedade de compleiþ§es dos humanos, mas costumam ser mais bronzeados ou morenos. A cor tÝpica do cabelo de um elfo Ú marrom escuro, ruivo escuro, verde musgo ou dourado escuro. As orelhas dos elfos sÒo longas e pontiagudas, seus olhos sÒo azuis, violetas ou verdes vibrantes. Esse povo tem poucos pÛlos no corpo, mas prefere manter uma aparÛncia selvagem e embaraþada nos cabelos.
Os elfos atingem a maturidade na mesma velocidade que os humanos, mas demonstram pouquÝssimos efeitos do envelhecimento depois da idade adulta. O primeiro sinal da idade avanþada de um elfo geralmente Ú uma mudanþa na cor dos cabelos

正确输出:

Os elfos comp§em uma raþa atlÚtica e esguia, da mesma altura dos humanos. Eles apresentam a mesma variedade de compleiþ§es dos humanos, mas costumam ser mais bronzeados ou morenos. A cor tÝpica do cabelo de um elfo Ú marrom escuro, ruivo escuro, verde musgo ou dourado escuro. As orelhas dos elfos sÒo longas e pontiagudas, seus olhos sÒo azuis, violetas ou verdes vibrantes. Esse povo tem poucos pÛlos no corpo, mas prefere manter uma aparÛncia selvagem e embaraþada nos cabelos.
Os elfos atingem a maturidade na mesma velocidade que os humanos, mas demonstram pouquÝssimos efeitos do envelhecimento depois da idade adulta. O primeiro sinal da idade avanþada de um elfo geralmente Ú uma mudanþa na cor dos cabelos — muitas vezes ficando grisalhos, mas quase sempre escurecendo ou assumindo cores mais castanhas. A maioria dos elfos vive bem até os 200 anos de idade e permanecem vigorosos até o fim.

它总是停在同一部分“... cabelos”。怎么了?如果我将字符串分成更小的块,它会正常运行。是问题,字符串大小吗?

4

1 回答 1

0

我检查了它停止打印的字符周围的字符,看看它们在 unicode 中是什么。

你的连字符实际上是一个 unicode dash 0x2014

这会向流输出 null 并终止字符串。

当面对大量代码、数据、特性或更改时,最好戴上信号灯并将其切成小块。有时最好把它切成两半,然后再切成两半,然后再切成两半,直到可以处理为止。其他时候,只是去掉,然后一次添加一点。

于 2013-02-15T21:25:35.830 回答