
Inline adoc files when they are included exactly once. Also fix language tags because this inlining gives us better information on what language the code is written in.
41 lines
1.4 KiB
Plaintext
41 lines
1.4 KiB
Plaintext
== Why is this an issue?
|
|
|
|
This includes file and I/O functions ``++fgetpos++``, ``++fopen++``, ``++ftell++``, ``++gets++``, ``++perror++``, ``++remove++``, ``++rename++`` and ``++ungetc++``.
|
|
|
|
|
|
Streams and file I/O have a large number of unspecified, undefined and implementation-defined behaviors associated with them. It is assumed within MISRA C that they will not normally be needed in production code in embedded systems.
|
|
|
|
|
|
If any of the features of ``++stdio.h++`` need to be used in production code, then the issues associated with the features need to be understood.
|
|
|
|
|
|
=== Noncompliant code example
|
|
|
|
[source,cpp]
|
|
----
|
|
#include <stdio.h> /* Noncompliant */
|
|
----
|
|
|
|
|
|
== Resources
|
|
|
|
* MISRA C:2004, 20.9 - The input/output library <stdio.h> shall not be used in production code.
|
|
* MISRA {cpp}:2008, 27-0-1 - The stream input/output library <cstdio> shall not be used.
|
|
* MISRA C:2012, 21.6 - The Standard Library input/output functions shall not be used
|
|
|
|
|
|
ifdef::env-github,rspecator-view[]
|
|
'''
|
|
== Comments And Links
|
|
(visible only on this page)
|
|
|
|
=== is related to: S1055
|
|
|
|
=== on 31 Mar 2015, 19:02:58 Evgeny Mandrikov wrote:
|
|
\[~ann.campbell.2] implementation seems more complete (SQALE, description) than this spec.
|
|
|
|
=== on 13 Apr 2015, 19:47:20 Evgeny Mandrikov wrote:
|
|
\[~ann.campbell.2] I'm wondering why blocker, but not active by default? Note that in implementation currently major and not active.
|
|
|
|
endif::env-github,rspecator-view[]
|