| 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)
- put a byte on a stream
#include <stdio.h>intfputc(intc,FILE *stream);
intputc(intc,FILE *stream);
intputc_unlocked(intc,FILE *stream);
intputchar(intc);
intputchar_unlocked(intc);
intputw(intw,FILE *stream);
Thefputc() function writes the byte specified byc (converted to anunsigned char) to the output stream pointed to bystream, at the positionindicated by the associated file-position indicator for the stream (if defined), and advancesthe indicator appropriately. If the file cannot support positioning requests, or ifthe stream was opened with append mode, the byte is appended tothe output stream.
Thest_ctime andst_mtime fields of the file will be marked forupdate between the successful execution offputc() and the next successful completionof a call tofflush(3C) orfclose(3C) on the same stream ora call toexit(3C) orabort(3C).
Theputc() routine behaves likefputc(), except that it is implemented asa macro. It runs faster thanfputc(), but it takes up morespace per invocation and its name cannot be passed as an argumentto a function call.
The callputchar(c) is equivalent toputc(c,stdout). Theputchar() routine is implementedas a macro.
Theputc_unlocked() andputchar_unlocked() routines are variants ofputc() andputchar(), respectively,that do not lock the stream. It is the caller's responsibilityto acquire the stream lock before calling these routines and releasing the lockafterwards; seeflockfile(3C) andstdio(3C). These routines are implemented as macros.
Theputw() function writes the word (that is, typeint)w tothe outputstream (at the position at which the file offset, ifdefined, is pointing). The size of a word is the size ofa typeint and varies from machine to machine. Theputw() functionneither assumes nor causes special alignment in the file.
Thest_ctime andst_mtime fields of the file will be marked forupdate between the successful execution ofputw() and the next successful completionof a call tofflush(3C) orfclose(3C) on the same stream ora call toexit(3C) orabort(3C).
Upon successful completion,fputc(),putc(),putc_unlocked(),putchar(), andputchar_unlocked() return the valuethat was written. Otherwise, these functions return EOF, the error indicatorfor the stream is set, anderrno is set to indicate the error.
Upon successful completion,putw() returns0. Otherwise, it returns a non-zero value,sets the error indicator for the associatedstream, and setserrno toindicate the error.
An unsuccessful completion will occur, for example, if the file associated withstream is not open for writing or if the output file cannotgrow.
Thefputc(),putc(),putc_unlocked(),putchar(),putchar_unlocked(), andputw() functions will fail ifeither thestream is unbuffered or thestream's buffer needs to beflushed, and:
TheO_NONBLOCK flag is set for the file descriptor underlyingstream and the process would be delayed in the write operation.
The file descriptor underlyingstream is not a valid file descriptor open for writing.
An attempt was made to write to a file that exceeds the maximum file size or the process' file size limit.
The file is a regular file and an attempt was made to write at or beyond the offset maximum.
The write operation was terminated due to the receipt of a signal, and no data was transferred.
A physical I/O error has occurred, or the process is a member of a background process group attempting to write to its controlling terminal,TOSTOP is set, the process is neither ignoring nor blockingSIGTTOU and the process group of the process is orphaned. This error may also be returned under implementation-dependent conditions.
There was no free space remaining on the device containing the file.
An attempt is made to write to a pipe orFIFO that is not open for reading by any process. ASIGPIPE signal will also be sent to the calling thread.
Thefputc(),putc(),putc_unlocked(),putchar(),putchar_unlocked(), andputw() functions may fail if:
Insufficient storage space is available.
A request was made of a non-existent device, or the request was outside the capabilities of the device.
Functions exist for theputc(),putc_unlocked(),putchar(), andputchar_unlocked() macros. To getthe function form, the macro name must be undefined (for example,#undef putc).
When the macro forms are used,putc() andputc_unlocked() evaluate thestreamargument more than once. In particular,putc(c,*f++); does not work sensibly. Thefputc() function should be used instead when evaluating thestream argument hasside effects.
Because of possible differences in word length and byte ordering, files writtenusingputw() are implementation-dependent, and possibly cannot be read usinggetw(3C) bya different application or by the same application running in a differentenvironment.
Theputw() function is inherently byte stream oriented and is not tenablein the context of either multibyte character streams or wide-character streams. Applicationprogrammers are encouraged to use one of the character-based output functions instead.
Seeattributes(5) for descriptions of the following attributes:
|
getrlimit(2),ulimit(2)write(2),Intro(3),abort(3C),exit(3C),fclose(3C),ferror(3C),fflush(3C),flockfile(3C),printf(3C),putc(3C),puts(3C),setbuf(3C),stdio(3C),attributes(5),standards(5)
Thefputc(),putc(),putchar(), andputw() routines are MT-Safe in multithreaded applications. Theputc_unlocked() andputchar_unlocked() routines are unsafe in multithreaded applications.
Copyright © 2011, Oracle and/or its affiliates. All rights reserved.Legal Notices | ![]() ![]() |