字符串输出不完整-奇怪的行为

String output incomplete - Strange behavior

本文关键字:输出 字符串      更新时间:2023-10-16

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

#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"。发生了什么?如果我把字符串分成更小的块,它就会正常工作。字符串大小有问题吗?

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

您的连字符实际上是一个unicode短划线0x2014

这将向流输出一个null并终止字符串。

当面对大量的代码、数据、功能或更改时,最好戴上眼罩,把它切成小块。有时最好把它切成两半,然后再切成两半,再切成两半。其他时候,只需将其精简为零,然后一次添加一点。