- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在我的源代码(C 语言)中,有一行如下:
char line[1000] = "";
fgets(line, sizeof(line), file)
当我使用 parasoft 检查时,我收到两个错误:
In 'fgets' function call, do not pass long casted to int expression as '2' function argument
The type 'unsigned long' of function argument number '2' does not match declared type 'int'
我在源代码中发现这些行没有问题,所以我不知道如何修复这些错误。你能给我一个建议吗?
最佳答案
fgets
接受 int
作为它的第二个参数。 (恕我直言,这是一个缺陷)
sizeof
返回类型为 size_t
的值,在您的情况下它似乎是 unsigned Iong
的别名。问题在于 unsigned long
可能(太大)而无法转换为 int
。
在这里您无能为力。要消除错误,您可以使用强制转换:
fgets(line, (int)sizeof(line), file);
请注意,如果您在某个时候决定将该数组更改为动态分配的数组,或者如果您将代码折射为不同的函数,那么您对 sizeof
的使用可能会给您带来麻烦。
关于c - 如何修复 Parasoft 检查的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35766046/
首先,我没有 parasoft .test 或 jtest 经验。我已经阅读了产品可以自动生成单元测试的数据表。 但我很担心自动生成的单元测试有多么有用。它真的不需要开发人员的任何其他努力吗? 欢迎任
我正在尝试从我的 Parasoft 测试套件中将 java 程序作为可执行文件运行。可执行文件仅在测试运行后执行并将结果存储在一个文件夹中。 但是现在,作为增强的一部分,我需要将参数传递给 Java
我正在尝试使用 Parasoft 检查我们项目的“编码标准”。这是一个使用“gnu.cross.cortexm3”的 C 项目。我用 Parasoft 打开这个项目并尝试用“示例配置”对其进行测试,但
我在 C 中有一个函数,其中包含以下几行: while (src=strstr(src,key)) { memmove(src,src+strlen(key),1+strlen(src
在我的源代码(C 语言)中,有一行如下: char line[1000] = ""; fgets(line, sizeof(line), file) 当我使用 parasoft 检查时,我收到两个错误
我想知道如何抑制parasoft发现的这个缺陷 BD-PB-CC:Condition "result != 0" always evaluates to false /home/redbend/dev
我从事的项目刚刚被告知我们必须将 Parasoft C++ 单元测试工具合并到任何代码更改中。我面临的问题是我们的方法变化很小,现在看来我们被迫对整个方法进行单元测试。其中许多方法都是数百或数千行代码
我正在使用 Parasoft C++test 9.0。我使用“cpptestscan.exe”创建构建数据文件 (bdf),然后我想使用“cpptestcli.exe”运行我的规则集。当我在 Para
我正在尝试使用 Parasoft C/C++ 测试通过静态测试检查“编码标准”。我在 Parasoft 用户指南中只找到“如何在 Makefile 项目中创建 bdf”部分。 如何为每个项目创建一个
我想在 Parasoft C++ 测试软件中编译和测试示例内联嵌入式汇编代码。 源代码: #include void example() { int arg1, arg2, add, sub,
我在数据源中使用 jython 脚本。数据源列为 MR1、MR2、MR3。 这是我的脚本。 x=float(context.getValue("datasource", "MR1")) y=float
我们有一个自定义的扩展方法 .IsNullOrEmpty(),它的功能和它听起来的一样。 public static bool IsNullOrEmpty(this IEnumerable targe
我们有一个die 函数输出错误信息并退出,例如: void die(const char* msg) { fprintf(stderr, "Error: %s\n", msg); ex
我们使用 Parasoft C++test静态分析我们的代码。它在使用如下代码时遇到问题: void foo(int* x) { try { bar(); } catc
如何避免以下错误 - “取消引用后检查“用户”是否为空。”。突出显示的代码 OLCC olcc = saveOLCCRequest.getOLCC(); if (olcc != nu
我需要将 .txt 文件读取为原始文本或通过代码来提取测试套件中键入的数据(资源/断言器,...)。有什么办法吗?通过代码或任何编辑器。 最佳答案 如果你有二进制格式的 tst 文件,那么可能会有问题
我正在使用 Linux 环境来运行 Parasoft。我通常使用 cpptesttrace 创建构建数据文件(bdf)文件。但唯一的问题是我无法在从此 bdf 文件导入的项目中测试头文件 (.h)。任
在 parasoft soatest 的帮助下,它被给予使用soaptest.api jar 文件,但它没有捆绑在 soatest jar 文件中,我无法找到它来下载它 最佳答案 所需的 jar 是
我是一名优秀的程序员,十分优秀!