主要内容

ISO/IEC TS 17961 [filecpy]

Copying a FILE object

描述

Copying a FILE object.1

Polyspace 实现

此检查项检查 FILE* 指针解引用

示例

全部展开

问题

当解引用指向 FILE 对象的指针时,会出现此问题。

风险

该标准声明用来控制流的 FILE 对象的地址可能很重要。复制该对象可能不会产生相同的行为。此规则确保您不能执行这样的复制。

直接操作 FILE 对象可能与其作为流标识符的用途不兼容。

示例 - FILE* 指针解引用
#include <stdio.h>

void func(void) {
    FILE *pf1;
    FILE *pf2;
    FILE f3;

    pf2 = pf1;        /* Compliant */
    f3 = *pf2;        /* Non-compliant */
    pf2->_flags=0;    /* Non-compliant */
 }

在此示例中,当对 FILE* 指针 pf2 进行解引用时,违反了该规则。

检查信息

可判定性:不可判定

版本历史记录

在 R2019a 中推出


1 Extracts from the standard "ISO/IEC TS 17961 Technical Specification - 2013-11-15" are reproduced with the agreement of AFNOR. Only the original and complete text of the standard, as published by AFNOR Editions - accessible via the website www.boutique.afnor.org - has normative value.