weixin_42642197 2018-12-05 08:12 采纳率: 0%
浏览 1277

c#中使用ivi.visanet编程scanfarray的用法。

最近在用c#编程,其中使用ivi.visa控制相关仪器,但是根据帮助文档中使用scanfarray方法读取仪器中的数据并存储在创建的数组中显示错误
图片说明

上图是帮助文档中的方法说明
图片说明

这段是出问题的代码,有没有哪位大神了解问题出在哪里

  • 写回答

1条回答 默认 最新

  • 你知我知皆知 2024-08-07 09:34
    关注

    以下回答参考 皆我百晓生券券喵儿 等免费微信小程序相关内容作答,并由本人整理回复。

    从您提供的代码来看,scanfArray 方法似乎用于读取字符串和浮点数,并将它们放入一个整型数组。然而,您尝试使用 ScanfArray 方法来读取字符串(%f 格式符),这可能不会产生预期的结果。

    scanfArray 方法应该被用来读取两个值:一个是字符串格式化表达式(例如 %d%f),另一个是一个指向要写入的数组的指针。您提到的示例中,它似乎正在尝试读取两个浮点数(因为 MaxLength 是一个整数),而不是字符串。

    如果您想从输入框中读取字符串并将它们转换为浮点数,您可以这样做:

    string input;
    while (!string.IsNullOrEmpty(input = textBox15.Text))
    {
        float num = float.Parse(input);
        ResultArray[i] = num;
        i++;
    }
    

    在这个例子中,我们首先获取用户输入的字符串,然后尝试将其转换为浮点数。如果成功,我们将浮点数添加到结果数组中。请注意,这里没有循环来处理所有可能的字符输入。如果您希望以某种方式处理非数字字符,请考虑使用正则表达式或其他文本解析技术。

    评论

报告相同问题?