【发布时间】:2013-11-05 03:14:02
【问题描述】:
我正在编写一个程序,它将在 UNIX 中重新创建管道。用户输入一个命令,该命令存储在包含的 char 数组参数中,为了执行它们,我需要调用 exec 但我的程序是如何将命令与参数分开,以便我可以执行以下操作:
data in char command: ls -l
execvp("ls", <arguments>(in this case -l));
【问题讨论】:
-
How to split a string in C++ 可能会有所帮助
-
getline 总是向我的方向抛出错误,getline 真的是唯一的解决方案吗?
-
当然不是。如果它们只是空格分隔的字符串,您可以在将 C 字符串加载到
std::istringstream后使用自然的std::string提取运算符,链接的文章有*许多这样的例子,我敦促您查看可用的不同选项你。如果std::getline向您抛出错误,则很可能是您没有正确设置流(例如,它不应该处于二进制模式)。