输出总是65535个字符?

时间:2017-07-28 12:21:39

标签: c++ string string-length

这是我的代码。

#include <iostream>
using namespace std;

int main() 
{
    string s;
    cin >> s;
    cout << s.length();
    return 0;
}

为什么即使我增加s中的字符,它也会将输出设为65535。 我在这里添加了samle输入https://ideone.com/c2V8YX

2 个答案:

答案 0 :(得分:5)

Ideone常见问题解答回答:

  

源代码,输入和输出的大小限制是什么?

     

64 kB。

请注意,此限制与C ++语言无关,甚至与其特定实现无关。限制是由Ideone(这是可以理解的。你不希望允许人们上传无限数据来填满你的服务器)。他们的行为似乎是默默地截断输入。

答案 1 :(得分:0)

这不是很精彩的代码,但总的想法似乎很合理。基本上读取块并附加它们(可能是一个buffewr而不是原始字符串)但是你得到了这个想法

#include <iostream>
using namespace std;

int main() {
string all;
char snippet[100];
while(cin.get(snippet, 100)){ all += snippet; }
cout<< all.length() << '\n';
return 0;
}