当我使用cout
很长的字符串时,它不输出整个字符串,只输出结尾。需要帮助输出长字符串
std::string test[] = {"alotof text--sdfsdfsdfsdfsdfsfsdferer----248 characters"};
std::cout << *test << std::endl;
输出:呃---- 248个字符
这是字符串的结束而已,最开始的被切断
当我使用cout
很长的字符串时,它不输出整个字符串,只输出结尾。需要帮助输出长字符串
std::string test[] = {"alotof text--sdfsdfsdfsdfsdfsfsdferer----248 characters"};
std::cout << *test << std::endl;
输出:呃---- 248个字符
这是字符串的结束而已,最开始的被切断
写输出到一个文件,并检查内容是否在文件中。我猜想你的字符串包含回车('\r'
)字符,它们会将输出的位置移动到行的前面,从视觉上覆盖已写在此行上的字符。但是,所有的字符都应该在文件中可见。
TY你是正确的,我没有使用例子中的字符串没有考虑它会影响多少。 –
我这个测试:
#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
似乎没有要什么错
您必须考虑某些变量。仅仅因为它根据你的工作并不意味着它适用于每个人。 – 0x499602D2
我用Visual Studio 2010的C++编译器测试,并且完全按照您所写的和我的输出编码:
335
alotof text--sdfsdfsdfsddfasdfsdfasdfadfadfadfadfdfadfadfadfadfadfadfadsfasdfasdfasdfasdfa
sdfafdasdfadsfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfadsfasdfasdfadsfasdf
asdfasdfasdfasdfasdfasdfasdfasdfasdfadsfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfas
dfasdfasdfasdfasdfasdfasdfadsafsdffsdfsfsdferer----248 characters
适合我。
当您使用字符串而不是字符串数组时会发生什么? – juanchopanza
它不应该因为指针指向数组的第一个元素,这将是他的字符串。 –