我需要输入4个字符串,因此需要输入的字符串数量是指定的,但每个字符串的长度是不同的。因为我必须执行特定于字符的操作,所以它必须是二维字符数组,如果我没有错的话。如何在c++中对此进行编码。
参考:问题在spoj中
输入:
4 // number of test cases
your
progress
is
noticeable如何在C++中输入?请帮助澄清这背后的概念。
发布于 2016-02-18 03:52:20
C++标准库提供了类std::string,您应该选择该类,而不是char*、char[]和类似于C语言的不安全的东西。
然后,您可以使用std::istream::operator>>或std::getline或任何您想使用的depending on what you want to read从std::cin输入流读取这些字符串(在您的示例中)。
现在,为了将这些字符串存储在合适的数据结构中,似乎可以使用数组形式。C++标准库为此提供了各种容器,这完全取决于您希望存储/访问字符串的方式。例如std::vector (动态可修改数组)、std::array (比数组更安全的选择)、std::deque (双端队列)、std::forward_list (单链表)和std::list (双链表)。这些数据结构提供了适当的操作来追加项、删除项、插入项等,这取决于它们的效率以及它们是否被实现。
对于一般用途的任务,我推荐使用std::vector。
发布于 2016-02-18 04:14:44
如果确实需要,可以使用malloc()初始化字符数组,然后使用realloc() sizeof(char)乘以x个字符数。您甚至可以添加一个标记来分隔您想要输入的不同行。
只要确保不要忘记在代码末尾释放()数组即可。
https://stackoverflow.com/questions/35466016
复制相似问题