Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/clojure/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++ 在空白处拆分字符数组_C++_String_Unix_System - Fatal编程技术网

C++ 在空白处拆分字符数组

C++ 在空白处拆分字符数组,c++,string,unix,system,C++,String,Unix,System,我正在编写一个程序,将在UNIX中重新创建管道。用户输入一个命令,该命令存储在包含参数的char数组中,为了执行它们,我需要调用exec,但我的程序是如何将命令与参数分开,以便执行以下操作: data in char command: ls -l execvp("ls", <arguments>(in this case -l)); char命令中的数据:ls-l execvp(“ls”,在本例中为-l)); 也许您需要使用strtok函数:。可能有用getline总是向我的方向抛

我正在编写一个程序,将在UNIX中重新创建管道。用户输入一个命令,该命令存储在包含参数的char数组中,为了执行它们,我需要调用exec,但我的程序是如何将命令与参数分开,以便执行以下操作:

data in char command: ls -l
execvp("ls", <arguments>(in this case -l));
char命令中的数据:ls-l execvp(“ls”,在本例中为-l));
也许您需要使用strtok函数:。

可能有用getline总是向我的方向抛出错误,getline真的是唯一的解决方案吗?当然不是。如果它们只是以空格分隔的字符串,那么在将C字符串加载到
std::istringstream
中之后,您可以使用natural
std::string
提取运算符。链接的文章中有*许多这样的示例,我敦促您查看可用的不同选项。如果
std::getline
向您抛出错误,则可能是您没有正确设置流(例如,流不应处于二进制模式)。您的答案可能是正确的,但它不符合有关回答的堆栈溢出要求。有效答案应该包含代码示例,而不仅仅是指向文档的链接(即使它或多或少是官方的)。请修复它以恢复下行投票和/或获得更多上行投票。