Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何使用cin读取一行用户输入,将该行分割为空白,并将这些令牌存储到字符串数组中?_C++_Arrays_Token_Cin - Fatal编程技术网

C++ 如何使用cin读取一行用户输入,将该行分割为空白,并将这些令牌存储到字符串数组中?

C++ 如何使用cin读取一行用户输入,将该行分割为空白,并将这些令牌存储到字符串数组中?,c++,arrays,token,cin,C++,Arrays,Token,Cin,基本上,是的,如上所述。但是我想在不使用vector类的情况下实现这一点 提前感谢三个步骤: 使用getline()读取一行。确保使用自由函数,而不是istream的成员 确定行中的字符串数。您可以将stringstream与istream_迭代器和distance()结合使用 分配一个足够大的数组并复制输入元素。您可以再次使用带有istream_迭代器和copy()的stringstream 除了步骤2和3之外,您还可以动态放大阵列或使用最大大小。请注意,我故意不告诉你如何做这一切,以免破坏你

基本上,是的,如上所述。但是我想在不使用vector类的情况下实现这一点

提前感谢

三个步骤:

  • 使用getline()读取一行。确保使用自由函数,而不是istream的成员
  • 确定行中的字符串数。您可以将stringstream与istream_迭代器和distance()结合使用
  • 分配一个足够大的数组并复制输入元素。您可以再次使用带有istream_迭代器和copy()的stringstream

  • 除了步骤2和3之外,您还可以动态放大阵列或使用最大大小。请注意,我故意不告诉你如何做这一切,以免破坏你的学习经验。如果您有具体的代码,欢迎您提出更具体的问题。

    您尝试过什么吗?你能用不同的标准容器吗?标准容器?是的,我已经完成了前面提到的任务,但是我以前的实现使用了vector类,直到最近我才发现我被禁止使用数组以外的其他类。我的意思是像
    std::deque
    以及除
    std::vector
    之外的所有其他类。我想如果只是数组,你就不能。我将帮助你完成第一部分。如果不允许在第二部分中使用任何标准容器,那么是时候使用C语言了,比如
    strtok
    realloc