c++ - 从 char 字符串中提取 2 个数字?

标签 c++ string

我正在尝试编写一种方法,将 2 个变量设置为 char 字符串中的数字。该字符串看起来像:

[-][1][ ][ ][ ][ ][2][.][0][4]

可以提取数字 -1 和 2.04。我知道方法签名可能看起来像这样:

sscanf(array[i],"%d%f",&someint,&somedouble)

但老实说,我不确定如何着手编写它。任何帮助将不胜感激

最佳答案

你快到了:

sscanf(array[i], "%d %lf",&someint, &somedouble)

其中空格表示“0、1 或多个任意空白字符”

但是如果您使用的是 C++ 而不是 C,最好从 C++ 流开始。这会容易得多。

#include <sstream>
std::istringstream my_number_stream(array[i]);
if (!(my_number_stream >> std::skipws >> someint >> somedouble)) {
    // oh noes ! an error !
}

关于c++ - 从 char 字符串中提取 2 个数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3699163/

相关文章:

c++ - 为什么这在 C++ 字符数组中有效

python - 将字符串与适用于 Python 2 和 3 的字节进行比较

javascript - 如何转义存储颜色名称的 Less 变量中的引号?

regex - 这段代码在 perl 中做了什么?

java - 使用Java subString格式化以点分隔的字符串 (".")

c++ - 删除 using namespace std 会导致程序得到错误的结果

c++ - 在 macOS 中获取关机和重启通知

c++ - libboost_python3.so.1.56.0 : undefined symbol: PyClass_Type

c++ - Qt、POP3 和 SSL?

java - 如何获取字符串数组中字符的索引位置