在 C++ main 中将浮点表作为参数传递
passing table of floats as argument in c++ main
我有一个 c++ 程序,我希望 main (argv[1]) 的第一个参数对应于浮点表。有可能做到吗??
我正在考虑将我的浮点数用空格分隔的绳子放入一根绳子(例如"1.12 3.23 4.32 1.1 ...")有没有办法自动将这样的字符串转换为浮点数表?如果我理解得很好,atof 函数会将字符串转换为双精度。因此,似乎可以使用空格拆分我的字符串,然后使用 atof 转换每个部分。这个选项对我来说似乎不是很有效?此外,它还返回双精度而不是浮:(
那么,有没有更好的方法将浮点表作为 c++ 程序的参数传递?
谢谢
stringstream
既可以在空格处进行拆分,也可以解析为浮点数。
std::stringstream ss(the_string);
std::vector<float> v(std::istream_iterator<float>(ss),
(std::istream_iterator<float>()));
// the extra parentheses here are ugly but necessary :(
如何获取包含数据的字符串取决于它的大小以及它应该来自哪里。请记住,在许多系统中,传递给程序的参数已经被空格分割,将每个部分放在不同的argv
元素中。
将其保存在文本文件中,然后在程序启动时从文件中读取它。我不值得将其作为命令行参数传递。
main() 参数列表是原样。您可以将数字字符串作为参数传递给程序。主函数必须解析其参数。
当您想传递以空格分隔的数字列表时argv[1]
您可以使用 strtok
函数获取单个数字字符串,并且必须将其传递给转换函数。
当转换函数返回双精度值时,您应该检查结果是否可以由浮点数表示,并将值转换为浮点变量。但我会考虑使用双倍作为内部表示。
除了辛格的回答:命令行应该主要由人使用,而不是计算机。如果确实需要值表,请使用配置文件。您始终可以使用人类可读的格式。
相关文章:
- 将数组作为参数传递给函数安全吗?作为第三方职能部门,可以探索他们想要的之外的其他元素
- 使用指向成员的指针将成员函数作为参数传递
- 如何将参数传递给正在使用模板的类
- 是否有C++编译器选项允许激进地删除所有函数调用,并将参数传递给具有空体的函数
- 修改函数中的指针(将另一个指针作为参数传递)
- 如何将部分流作为参数传递
- 我正在开发服务器,ip作为参数传递不起作用
- 将成员函数指针作为参数传递给模板方法
- 如何在C++中将迭代器作为函数参数传递
- 将附加参数传递给使用 beast::bind_front_handler 调用的函数
- 如何将一个类的函数作为另一个类的另一个函数的参数传递
- 将参数传递为"const"的奇怪效果
- 如何在 c++ 中将函数作为参数传递?
- 在 C++ 中将非指定类型作为参数传递的最佳方法?
- 使用引用与指针将数组作为参数传递
- 如何将成员函数作为回调参数传递给需要"typedef-ed"自由函数指针的函数?
- 将参数打包的参数传递到 std::queue 中,以便稍后使用不同的函数调用
- 为什么我不能将引用作为 std::async 的函数参数传递
- 如何在不使用指针的情况下将派生类的对象作为参数传递给基类中的函数?
- 将__device__ lambda 作为参数传递给 __global__ 函数