首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在C++的二维字符数组中输入不同长度的字符串?

如何在C++的二维字符数组中输入不同长度的字符串?
EN

Stack Overflow用户
提问于 2016-02-18 03:32:54
回答 2查看 552关注 0票数 0

我需要输入4个字符串,因此需要输入的字符串数量是指定的,但每个字符串的长度是不同的。因为我必须执行特定于字符的操作,所以它必须是二维字符数组,如果我没有错的话。如何在c++中对此进行编码。

参考:问题在spoj中

输入:

代码语言:javascript
复制
4          // number of test cases
your 
progress 
is 
noticeable

如何在C++中输入?请帮助澄清这背后的概念。

EN

回答 2

Stack Overflow用户

发布于 2016-02-18 03:52:20

C++标准库提供了类std::string,您应该选择该类,而不是char*char[]和类似于C语言的不安全的东西。

然后,您可以使用std::istream::operator>>std::getline或任何您想使用的depending on what you want to readstd::cin输入流读取这些字符串(在您的示例中)。

现在,为了将这些字符串存储在合适的数据结构中,似乎可以使用数组形式。C++标准库为此提供了各种容器,这完全取决于您希望存储/访问字符串的方式。例如std::vector (动态可修改数组)、std::array (比数组更安全的选择)、std::deque (双端队列)、std::forward_list (单链表)和std::list (双链表)。这些数据结构提供了适当的操作来追加项、删除项、插入项等,这取决于它们的效率以及它们是否被实现。

对于一般用途的任务,我推荐使用std::vector

票数 3
EN

Stack Overflow用户

发布于 2016-02-18 04:14:44

如果确实需要,可以使用malloc()初始化字符数组,然后使用realloc() sizeof(char)乘以x个字符数。您甚至可以添加一个标记来分隔您想要输入的不同行。

只要确保不要忘记在代码末尾释放()数组即可。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35466016

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档