2017-07-28 73 views
0

這是我的代碼。總是輸出65535個字符?

#include <iostream> 
using namespace std; 

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

爲什麼它給出輸出爲65535即使我增加字符在s中。 我加入這裏https://ideone.com/c2V8YX

+6

這可能是限制你到65535個字符作爲單個輸入控制檯。 – NathanOliver

+0

我怎樣才能得到這種情況下的長度? –

+0

嘗試再次從'cin'讀取並將其添加到's'中。 – NathanOliver

回答

5

的samle輸入的Ideone常見問題解答:

什麼是源代碼,輸入和輸出的大小限制?

64 kB。

請注意,這個限制與C++語言,甚至是它的特定實現無關。限制是Ideone的(可以理解,你不想讓人們上傳無限的數據來填滿你的服務器)。看起來他們的行爲是默默截斷輸入。

+0

[鏈接到常見問題](https://ideone.com/faq) – user2079303

+0

呵呵,似乎有點愚蠢,主編輯拒絕鏈接,如果他們沒有伴隨碼。編輯:是的,我專門爲這個網站的意思;基本概念很好,但顯然缺乏實現:) –

+1

@underscore_d不幸的是,他們沒有製作出更智能的過濾器,以允許鏈接到代碼演示服務上的非代碼。也許有人應該把這個提上meta。 – user2079303

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; 
} 
+0

啊!拼圖「ideone」的那一部分不見了。因此,忘記這一點 - user2079303發現了整個計劃中的缺陷。 – systemcpro