需要帮助输出长字符串

Need help outputting long string

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

当我对很长的字符串使用 cout 时,它不会输出整个字符串,只会输出结尾。

std::string test[] = {"alotof text--sdfsdfsdfsdfsdfsfsdferer----248 characters"};
std::cout << *test << std::endl;

输出:ER----248 个字符

这只是字符串的结尾,大部分开头都被切断了

将输出写入文件并检查内容是否在文件中。我猜你的字符串包含回车('r')字符,这些字符会导致输出的位置移动到行的前面,在视觉上覆盖已经写在这一行上的字符。但是,所有字符都应在文件中可见。

我用这个测试了:

#include <iostream>
int main(){
    std::string test[] = {"alotof text--sdfsdfsdfsddfasdfsdfasdfadfadfadfadfdfadfadfadfadfadfadfadsfasdfasdfasdfasdfasdfafdasdfadsfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfadsfasdfasdfadsfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfadsfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfadsafsdffsdfsfsdferer----248 characters"};
    std::cout << test[0].length() << std::endl;
    std::cout << *test << std::endl;
}

这是我的输出:

336
alotof text--    sdfsdfsdfsddfasdfsdfasdfadfadfadfadfadfadfadfadfadfadfadfadsfasdfasdfasdfasdfasdfafdasdfadsfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfadsfasdfasdfadsfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfadsfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfadsafsdffsdfsfsdferer----248 characters

似乎没有什么问题

我用Visual Studio 2010 C++编译器进行了测试,代码与您编写的代码完全一样,我的输出是:

335
alotof text--sdfsdfsdfsddfasdfsdfasdfadfadfadfadfdfadfadfadfadfadfadfadsfasdfasdfasdfasdfa
sdfafdasdfadsfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfadsfasdfasdfadsfasdf
asdfasdfasdfasdfasdfasdfasdfasdfasdfadsfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfas
dfasdfasdfasdfasdfasdfasdfadsafsdffsdfsfsdferer----248 characters

对我来说效果很好。