C++ sscanf_s 值不正确

标签 c++ string

我像这样使用 sscanf_s:

    double a = 0;
    double b = 0;
    sscanf_s(elements[1].c_str(),"<%d,%d>", &a, &b);
    complex<double> first(&a,&b);

但是当我输入 1,2 时,我得到的值是 4.5 和 1.9。

为什么会出错?

最佳答案

您需要使用正确的转换说明符。 %d 用于 int%lf 用于double

关于C++ sscanf_s 值不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20528092/

相关文章:

java - 如何使两个字符串之间随机连接

c++ - 在基于范围的 for 循环中设置 vector 元素

c++ - 运行时函数在编译时函数上分支?

javascript - 如何用另一个变量的值命名变量? JS

windows - 将一个文本文件中的多行合并为一行

c++ - 如何在 C++ 中删除 CString 中的字符串

c函数,表示 "uppercasing"一个字符串

c++ - qt 5.7 + Xcode 8.1 + os x El Capitan - 无法解析 'macosx' 的 SDK 路径

c++ - 当我在 C++ 中终止 pThread 时,是否会调用堆栈上对象的析构函数?

iphone - 警告 : XXXX has different visibility (default) in YYYY and (hidden) in ZZZZ