Microsoft KB Archive/46131

= DOC: tmpnam Operation Does Not Change If P_tmpdir Modified =

Article ID: 46131

Article Last Modified on 7/5/2005

-

APPLIES TO

 The C Run-Time (CRT), when used with:  Microsoft Visual C++ 1.0 Professional Edition

 Microsoft Visual C++ 1.5 Professional Edition

 Microsoft Visual C++ 1.0 Professional Edition

 Microsoft Visual C++ 2.0 Professional Edition</li></ul>

 Microsoft Visual C++ 4.0 Standard Edition</li></ul>

 Microsoft Visual C++ 4.1 Subscription</li></ul>

 Microsoft Visual C++ 5.0 Standard Edition</li></ul>

 Microsoft Visual C++ 6.0 Service Pack 5</li></ul> </li></ul>

-

<div class="notice_section">

This article was previously published under Q46131

<div class="summary_section">

SUMMARY
In Microsoft C, the documentation for the functions tmpnam, tempnam and _tempnam states that under certain conditions they create a name that consists of the path prefix defined by the P_tmpdir entry in STDIO.H. This is ambiguous. A better way of stating this is that they create a name that consists of a path prefix to the root of the current drive; this is also what P_tmpdir is defined as. However, P_tmpdir is defined as the root directory on the default drive, which is where the created name would reside. However, any modification of P_tmpdir in STDIO.H does not change the filename that is created.

The documentation states that changing the definition of P_tmpdir or L_tmpnam does not change the operation of tmpnam. Nor does it change the operation of tempnam or _tempnam. These two defines are provided only for XENIX/UNIX portability. The three functions tmpnam, tempnam and _tempnam do not make use of these two defines.

Additional query words: kbCRT kbVC100 kbVC150 kbVC200 kbVC400 kbVC410 kbVC500 kbDSupport

Keywords: kbdocfix kbdocerr KB46131

-

[mailto:TECHNET@MICROSOFT.COM Send feedback to Microsoft]

© Microsoft Corporation. All rights reserved.