exponenta event banner

ISO/IEC TS 17961 [filecpy]

Копирование объекта FILE

Описание

Определение правила

Копирование объекта FILE. [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] Выдержки из стандарта «ISO/IEC TS 17961 Technical Specification - 2013-11-15» воспроизводятся с согласия AFNOR. Нормативную ценность имеет только оригинальный и полный текст стандарта, опубликованный изданиями AFNOR - доступный через веб-сайт www.boutique.afnor.org.