| Skip Navigation Links | |
| Exit Print View | |
![]() | man pages section 3: Basic Library Functions Oracle Solaris 11 Information Library |
enable_extended_FILE_stdio(3C)
posix_spawnattr_getschedparam(3C)
posix_spawnattr_getschedpolicy(3C)
posix_spawnattr_getsigdefault(3C)
posix_spawnattr_getsigignore_np(3C)
posix_spawnattr_getsigmask(3C)
posix_spawnattr_setschedparam(3C)
posix_spawnattr_setschedpolicy(3C)
posix_spawnattr_setsigdefault(3C)
posix_spawnattr_setsigignore_np(3C)
posix_spawnattr_setsigmask(3C)
posix_spawn_file_actions_addclose(3C)
posix_spawn_file_actions_addclosefrom_np(3C)
posix_spawn_file_actions_adddup2(3C)
posix_spawn_file_actions_addopen(3C)
posix_spawn_file_actions_destroy(3C)
posix_spawn_file_actions_init(3C)
pthread_attr_getdetachstate(3C)
pthread_attr_getinheritsched(3C)
pthread_attr_getschedparam(3C)
pthread_attr_getschedpolicy(3C)
pthread_attr_setdetachstate(3C)
pthread_attr_setinheritsched(3C)
pthread_attr_setschedparam(3C)
pthread_attr_setschedpolicy(3C)
pthread_barrierattr_destroy(3C)
pthread_barrierattr_getpshared(3C)
pthread_barrierattr_setpshared(3C)
pthread_condattr_getpshared(3C)
pthread_condattr_setpshared(3C)
pthread_cond_reltimedwait_np(3C)
pthread_key_create_once_np(3C)
pthread_mutexattr_getprioceiling(3C)
pthread_mutexattr_getprotocol(3C)
pthread_mutexattr_getpshared(3C)
pthread_mutexattr_getrobust(3C)
pthread_mutexattr_setprioceiling(3C)
pthread_mutexattr_setprotocol(3C)
pthread_mutexattr_setpshared(3C)
pthread_mutexattr_setrobust(3C)
pthread_mutex_getprioceiling(3C)
pthread_mutex_reltimedlock_np(3C)
pthread_mutex_setprioceiling(3C)
pthread_rwlockattr_destroy(3C)
pthread_rwlockattr_getpshared(3C)
pthread_rwlockattr_setpshared(3C)
pthread_rwlock_reltimedrdlock_np(3C)
pthread_rwlock_reltimedwrlock_np(3C)
pthread_rwlock_timedrdlock(3C)
pthread_rwlock_timedwrlock(3C)
rctlblk_get_enforced_value(3C)
- open a stream
#include <stdio.h>FILE *freopen(const char *filename,const char *mode,FILE *stream);
Thefreopen() function first attempts to flush the stream and close any filedescriptor associated withstream. Failure to flush or close the file successfullyis ignored. The error and end-of-file indicators for the stream are cleared.
Thefreopen() function opens the file whose pathname is the string pointedto byfilename and associates the stream pointed to bystream withit. Themode argument is used just as infopen(3C).
Iffilename is a null pointer and the application conforms to SUSv3(seestandards(5)), thefreopen() function attempts to change the mode of the streamto that specified bymode, as though the name of the filecurrently associated with thestream had been used. The following changesof mode are permitted, depending upon the access mode of the filedescriptor underlying the stream:
When+ is specified, the file descriptor mode must beO_RDWR.
Whenr is specified, the file descriptor mode must beO_RDONLY orO_RDWR.
Whena orw is specified, the file descriptor mode must beO_WRONLY orO_RDWR.
If the filename is a null pointer and the application does notconform to SUSv3,freopen() returns a null pointer.
The original stream is closed regardless of whether the subsequent open succeeds.
After a successful call to thefreopen() function, the orientation of thestream is cleared, the encoding rule is cleared, and the associatedmbstate_tobject is set to describe an initial conversion state.
The largest value that can be represented correctly in an object oftypeoff_t will be established as the offset maximum in the openfile description.
Upon successful completion,freopen() returns the value ofstream. Otherwise, a nullpointer is returned anderrno is set to indicate the error.
Thefreopen() function will fail if:
Search permission is denied on a component of the path prefix, or the file exists and the permissions specified bymode are denied, or the file does not exist and write permission is denied for the parent directory of the file to be created.
The application conforms to SUSv3, thefilename argument is a null pointer, and either the underlying file descriptor is not valid or the mode specified when the underlying file descriptor was opened does not support the file access modes requested by themode argument.
The application does not conform to SUSv3 and thefilename argument is a null pointer.
A signal was caught duringfreopen().
The named file is a directory andmode requires write access.
Too many symbolic links were encountered in resolvingpath.
There are {OPEN_MAX} file descriptors currently open in the calling process.
The length of thefilename exceeds {PATH_MAX} or a pathname component is longer than {NAME_MAX}.
The maximum allowable number of files is currently open in the system.
A component offilename does not name an existing file orfilename is an empty string.
The directory or file system that would contain the new file cannot be expanded, the file does not exist, and it was to be created.
A component of the path prefix is not a directory.
The named file is a character special or block special file, and the device associated with this special file does not exist.
The current value of the file position cannot be represented correctly in an object of typeoff_t.
The named file resides on a read-only file system andmode requires write access.
Thefreopen() function may fail if:
The value of themode argument is not valid.
Pathname resolution of a symbolic link produced an intermediate result whose length exceeds {PATH_MAX}.
Insufficient storage space is available.
A request was made of a non-existent device, or the request was outside the capabilities of the device.
The file is a pure procedure (shared text) file that is being executed andmode requires write access.
Thefreopen() function is typically used to attach the preopenedstreams associatedwithstdin,stdout andstderr to other files. By defaultstderr isunbuffered, but the use offreopen() will cause it to become bufferedor line-buffered.
Thefreopen() function has a transitional interface for 64-bit file offsets. Seelf64(5).
Seeattributes(5) for descriptions of the following attributes:
|
fclose(3C),fdopen(3C),fopen(3C),stdio(3C),attributes(5),lf64(5),standards(5)
Copyright © 2011, Oracle and/or its affiliates. All rights reserved.Legal Notices | ![]() ![]() |