【发布时间】:2021-05-23 13:01:20
【问题描述】:
我正在从命令行创建一个与 main 风格相同的函数 void foo(int argc, char** argv)。使用来自std::cin 的输入。
我尝试了几个主要使用 strtok 和向量的想法,以及涉及直接从输入流中读取和重新分配数组的方法。但是如果没有大量的数组重新分配或使用似乎有不必要开销的向量,就无法确定实现这一目标的最佳方法。
void foo(int argc, char** argv) {
//do somthing.
return;
}
int main() {
std::string tmp;
std::getline(std::cin, tmp)
//code here.
foo(var_count, vars);
}
非常感谢。
编辑:进一步调查,c 风格的 strtok 功能已被弃用,并已被似乎存在平台兼容性问题的新变体取代。
【问题讨论】:
-
你能解释一下为什么吗?出于遗留原因,
main命令行输入界面采用这种方式。现代 C++ 有更好的方法来传递信息。 -
不了解 OP,但我曾经不得不构建一个 QApplication,其参数不一定从 main 转发。我同意如果可能的话应该避免它。
标签: c++ string inputstream