【问题标题】:Split char array between white space在空格之间拆分字符数组
【发布时间】: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 向您抛出错误,则很可能是您没有正确设置流(例如,它不应该处于二进制模式)。

标签: c++ string unix system


【解决方案1】:

也许你需要使用 strtok 函数:http://www.cplusplus.com/reference/cstring/strtok/

【讨论】:

  • 可能你的答案是正确的,但它不符合 StackOverflow 关于回答的要求。有效的答案应该包含代码示例,而不仅仅是链接到文档(即使它或多或少是官方的)。请修复它以恢复反对票和/或获得更多赞成票。
猜你喜欢
  • 2012-03-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多