【问题标题】:Using sscanf to get two double values from cmd使用 sscanf 从 cmd 获取两个双精度值
【发布时间】:2020-01-07 11:20:24
【问题描述】:

我在 sscanf 从 cmd 读取两个值时遇到了一些问题。我有以下代码:

sscanf(argv[1], "%lf %lf", &m.iMin, &m.iMax);

第一个值分配正确,iMax 始终设置为零。不过,它在使用两个 sscanfs 时有效。我尝试了我在网上找到的所有内容,但没有成功。如果有人可以帮助我,我将不胜感激。

【问题讨论】:

    标签: scanf


    【解决方案1】:

    您提供什么输入?如果您在两个数字之间正确放置了一个空格,则在调用时可能需要将表达式用双引号括起来

    例如

    myConsoleApp.exe "100 200"
    

    否则 100 和 200 被视为 2 个不同的参数。

    【讨论】:

    • 哦,有帮助,谢谢!所以如果我理解正确的话,这仍然是一个论点,只是他的部分被分成了不同的存储空间?如果我想使用一个 sscanf 来获得 2 个双打和一个字符串怎么办?我应该使用 sscanf(argv[1], "%lf %lf %s", &double1, &double2, string); 输入“1 2 filename.txt”吗?
    • 因此,当您调用控制台应用程序或批处理脚本时,空格被解释为不同参数的分隔符。如果您的参数中有一个空格,则需要通过将整个表达式用双引号括起来来“转义”它。
    猜你喜欢
    • 1970-01-01
    • 2015-06-16
    • 2013-12-28
    • 2013-03-16
    • 2014-11-29
    • 2020-09-25
    • 2012-11-03
    • 2015-07-20
    • 2022-01-09
    相关资源
    最近更新 更多