2017-02-28 139 views
1

我已經在C中獲得了良好的曝光度,但對於C++來說卻是新手。我想知道,有沒有辦法將C++字符串限制爲字符數。例如:如果我想聲明一個名爲「circle」的字符串,我可以將字符數限制爲50嗎? (就像我們以前用C做的char char [50])在C++中將字符串大小限制爲字符數

+1

如果使用C++使用字符串數據類型。用'C' ++做事情不是'C'ish的方式。 –

+0

***如果我想聲明一個名爲「circle」的字符串***在'C++'中,您將它作爲'std :: string circle;'並且讓C++在需要時處理調整緩衝區大小的細節。最終你的班級會教你'C++'。然而,我認爲你現在不被允許使用它。 – drescherjm

+0

是的,這是我想知道的,如何分配50字節的大小以C++ ish方式的字符串。 – Shrey

回答

0

我可以限制字符數爲50嗎?

可以構造字符串與容量通過使用容納50個字符:

std::string str(50, '\0'); 

然而,不同於C數組,可以通過增加更多的數據以將其以增加其大小。

實施例:

#include <iostream> 
#include <string> 

int main() 
{ 
    std::string str(50, '\0'); 
    for (size_t i = 0; i < 49; ++i) 
    { 
     str[i] = 'A'+i; 
    } 

    std::cout << str << std::endl; 

    str += " Some more characters."; 

    std::cout << str << std::endl; 
} 

輸出:

ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopq 
ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopq Some more characters. 
+0

謝謝@R_Sahu,這有助於很多! – Shrey

相關問題