2017-02-28 90 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

相关问题