📄 libc.texinfo
字号:
beginning of the file.File Names* Directories:: Directories contain entries for files.* File Name Resolution:: A file name specifies how to look up a file.* File Name Errors:: Error conditions relating to file names.* File Name Portability:: File name portability and syntax issues.I/O on Streams* Streams:: About the data type representing a stream.* Standard Streams:: Streams to the standard input and output devices are created for you.* Opening Streams:: How to create a stream to talk to a file.* Closing Streams:: Close a stream when you are finished with it.* Simple Output:: Unformatted output by characters and lines.* Character Input:: Unformatted input by characters and words.* Line Input:: Reading a line or a record from a stream.* Unreading:: Peeking ahead/pushing back input just read.* Formatted Output:: @code{printf} and related functions.* Customizing Printf:: You can define new conversion specifiers for @code{printf} and friends.* Formatted Input:: @code{scanf} and related functions.* Block Input/Output:: Input and output operations on blocks of data.* EOF and Errors:: How you can tell if an I/O error happens.* Binary Streams:: Some systems distinguish between text files and binary files.* File Positioning:: About random-access streams.* Portable Positioning:: Random access on peculiar ANSI C systems.* Stream Buffering:: How to control buffering of streams.* Temporary Files:: How to open a temporary file.* Other Kinds of Streams:: Other Kinds of StreamsUnreading* Unreading Idea:: An explanation of unreading with pictures.* How Unread:: How to call @code{ungetc} to do unreading.Formatted Output* Formatted Output Basics:: Some examples to get you started.* Output Conversion Syntax:: General syntax of conversion specifications.* Table of Output Conversions:: Summary of output conversions, what they do.* Integer Conversions:: Details of formatting integers.* Floating-Point Conversions:: Details of formatting floating-point numbers.* Other Output Conversions:: Details about formatting of strings, characters, pointers, and the like.* Formatted Output Functions:: Descriptions of the actual functions.* Variable Arguments Output:: @code{vprintf} and friends.* Parsing a Template String:: What kinds of arguments does a given template call for?Customizing Printf* Registering New Conversions:: * Conversion Specifier Options:: * Defining the Output Handler:: * Printf Extension Example:: Formatted Input* Formatted Input Basics:: Some basics to get you started.* Input Conversion Syntax:: Syntax of conversion specifications.* Table of Input Conversions:: Summary of input conversions and what they do.* Numeric Input Conversions:: Details of conversions for reading numbers.* String Input Conversions:: Details of conversions for reading strings.* Other Input Conversions:: Details of miscellaneous other conversions.* Formatted Input Functions:: Descriptions of the actual functions.* Variable Arguments Input:: @code{vscanf} and friends.Stream Buffering* Buffering Concepts:: Terminology is defined here.* Flushing Buffers:: How to ensure that output buffers are flushed.* Controlling Buffering:: How to specify what kind of buffering to use.Other Kinds of Streams* String Streams:: * Custom Streams:: Programming Your Own Custom Streams* Streams and Cookies:: * Hook Functions:: Low-Level I/O* Opening and Closing Files:: How to open and close file descriptors.* I/O Primitives:: Reading and writing data.* File Position Primitive:: Setting a descriptor's file position.* Descriptors and Streams:: Converting descriptor to stream or vice-versa.* Stream/Descriptor Precautions:: Precautions needed if you use both descriptors and streams.* Waiting for I/O:: How to check for input or output on multiple file descriptors.* Control Operations:: Various other operations on file descriptors.* Duplicating Descriptors:: Fcntl commands for duplicating descriptors.* Descriptor Flags:: Fcntl commands for manipulating flags associated with file descriptors.* File Status Flags:: Fcntl commands for manipulating flags associated with open files.* File Locks:: Fcntl commands for implementing file locking.* Interrupt Input:: Getting a signal when input arrives.File System Interface* Working Directory:: This is used to resolve relative file names.* Accessing Directories:: Finding out what files a directory contains.* Hard Links:: Adding alternate names to a file.* Symbolic Links:: A file that ``points to'' a file name.* Deleting Files:: How to delete a file, and what that means.* Renaming Files:: Changing a file's name.* Creating Directories:: A system call just for creating a directory.* File Attributes:: Attributes of individual files.* Making Special Files:: How to create special files.Accessing Directories* Directory Entries:: Format of one directory entry.* Opening a Directory:: How to open a directory stream.* Reading/Closing Directory:: How to read directory entries from the stream.* Simple Directory Lister:: A very simple directory listing program.* Random Access Directory:: Rereading part of the directory already read with the same stream.File Attributes* Attribute Meanings:: The names of the file attributes, and what their values mean.* Reading Attributes:: How to read the attributes of a file.* Testing File Type:: Distinguishing ordinary files, directories, links...* File Owner:: How ownership for new files is determined, and how to change it.* Permission Bits:: How information about a file's access mode is stored.* Access Permission:: How the system decides who can access a file.* Setting Permissions:: How permissions for new files are assigned, and how to change them.* Testing File Access:: How to find out if your process can access a file.* File Times:: About the time attributes of a file.Pipes and FIFOs* Creating a Pipe:: Making a pipe with the @code{pipe} function.* Pipe to a Subprocess:: Using a pipe to communicate with a child.* FIFO Special Files:: Making a FIFO special file.Sockets* Socket Concepts:: Basic concepts you need to know about.* Communication Styles:: Stream communication, datagrams, and others.* Socket Addresses:: How socket names (``addresses'') work.* File Namespace:: Details about the file namespace.* Internet Namespace:: Details about the Internet namespace.* Open/Close Sockets:: Creating sockets and destroying them.* Connections:: Operations on sockets with connection state.* Datagrams:: Operations on datagram sockets.* Socket Options:: Miscellaneous low-level socket options.* Networks Database:: Accessing the database of network names.Socket Addresses* Address Formats:: About @code{struct sockaddr}.* Setting Address:: Binding an address to a socket.* Reading Address:: Reading the address of a socket.Internet Domain* Internet Address Format:: How socket addresses are specified in the Internet namespace.* Host Addresses:: All about host addresses of Internet hosts.* Protocols Database:: Referring to protocols by name.* Services Database:: Ports may have symbolic names.* Byte Order:: Different hosts may use different byte ordering conventions; you need to canonicalize host address and port number. * Inet Example:: Putting it all together.Host Addresses* Abstract Host Addresses:: What a host number consists of.* Data type: Host Address Data Type. Data type for a host number.* Functions: Host Address Functions. Functions to operate on them.* Names: Host Names. Translating host names to host numbers.Open/Close Sockets* Creating a Socket:: How to open a socket.* Closing a Socket:: How to close a socket.* Socket Pairs:: These are created like pipes.Connections* Connecting:: What the client program must do.* Listening:: How a server program waits for requests.* Accepting Connections:: What the server does when it gets a request.* Who is Connected:: Getting the address of the other side of a connection.* Transferring Data:: How to send and receive data.* Byte Stream Example:: An example client for communicating over a byte stream socket in the Internet namespace.* Server Example:: A corresponding server program.* Out-of-Band Data:: This is an advanced feature.Transferring Data* Sending Data:: Sending data with @code{write}.* Receiving Data:: Reading data with @code{read}.* Socket Data Options:: Using @code{send} and @code{recv}.Datagrams* Sending Datagrams:: Sending packets on a datagram socket.* Receiving Datagrams:: Receiving packets on a datagram socket.* Datagram Example:: An example program: packets sent over a datagram stream in the file namespace.* Example Receiver:: Another program, that receives those packets.Socket Options* Socket Option Functions:: The basic functions for setting and getting socket options.* Socket-Level Options:: Details of the options at the socket level.Low-Level Terminal Interface* Is It a Terminal:: How to determine if a file is a terminal device, and what its name is.* I/O Queues:: About flow control and typeahead.* Canonical or Not:: Two basic styles of input processing.* Terminal Modes:: How to examine and modify flags controlling terminal I/O: echoing, signals, editing.* Line Control:: Sending break sequences, clearing buffers...* Noncanon Example:: How to read single characters without echo.Terminal Modes* Mode Data Types:: The data type @code{struct termios} and related types.* Mode Functions:: Functions to read and set terminal attributes.* Setting Modes:: The right way to set attributes reliably.* Input Modes:: Flags controlling low-level input handling.* Output Modes:: Flags controlling low-level output handling.* Control Modes:: Flags controlling serial port behavior.* Local Modes:: Flags controlling high-level input handling.* Line Speed:: How to read and set the terminal line speed.* Special Characters:: Characters that have special effects, and how to change them.* Noncanonical Input:: Controlling how long to wait for input.Special Characters* Editing Characters:: * Signal Characters:: * Start/Stop Characters:: Mathematics* Domain and Range Errors:: How overflow conditions and the like are reported.* Not a Number:: Making NANs and testing for NANs.* Trig Functions:: Sine, cosine, and tangent.* Inverse Trig Functions:: Arc sine, arc cosine, and arc tangent.* Exponents and Logarithms:: Also includes square root.* Hyperbolic Functions:: Hyperbolic sine and friends.* Pseudo-Random Numbers:: Functions for generating pseudo-random numbers.* Absolute Value:: Absolute value functions.Pseudo-Random Numbers* ANSI Random:: @code{rand} and friends.* BSD Random:: @code{random} and friends.Low-Level Arithmetic Functions* Normalization Functions:: Hacks for radix-2 representations.* Rounding and Remainders:: Determinining the integer and fractional parts of a float.* Integer Division:: Functions for performing integer division.* Parsing of Numbers:: Functions for ``reading'' numbers from strings.* Predicates on Floats:: Some miscellaneous test functions.Parsing of Numbers* Parsing of Integers:: Functions for conversion of integer values.* Parsing of Floats:: Functions for conversion of floating-point.Date and Time* Processor Time:: Measures processor time used by a program.* Calendar Time:: Manipulation of ``real'' dates and times.* Setting an Alarm:: Sending a signal after a specified time.* Sleeping:: Waiting for a period of time.Processor Time* Basic CPU Time:: The @code{clock} function.* Detailed CPU Time:: The @code{times} function.Calendar Time* Simple Calendar Time:: Facilities for manipulating calendar time.* High-Resolution Calendar:: A time representation with greater precision.* Broken-down Time:: Facilities for manipulating local time.* Formatting Date and Time:: Converting times to strings.* TZ Variable:: How users specify the time zone.* Time Zone Functions:: Functions to examine or specify the time zone.* Time Functions Example:: An example program showing use of some of the time functions.Signal Handling* Concepts of Signals:: Introduction to the signal facilities.* Standard Signals:: Particular kinds of signals with standard names and meanings.* Signal Actions:: Specifying what happens when a particular signal is delivered.* Defining Handlers:: How to write a signal handler function.* Generating Signals:: How to send a signal to a process.* Blocking Signals:: Making the system hold signals temporarily.* Waiting for a Signal:: Suspending your program until a signal arrives.* Signal Stack:: Using a Separate Signal Stack* BSD Signal Handling:: Additional functions for backward compatibility with BSD.Basic Concepts of Signals* Kinds of Signals:: Some examples of what can cause a signal.* Signal Generation:: Concepts of why and how signals occur.* Delivery of Signal:: Concepts of what a signal does to the process.Standard Signals* Program Error Signals:: Used to report serious program errors.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -