[C / C ++] C basis _5_ files, directories, operating time, / system error messages, compile pretreatment, gdb debugging, makefile file


1. File operations: FILE structure, fprint / fgets, fwrite / fread, ftell / rewind / fseek, fflush

Here Insert Picture Description
ls -l
Here Insert Picture Description
Here Insert Picture Description
Here Insert Picture Description
Depending on the organization of data in the file, the file can be divided into text and binary files
1. Text file
Here Insert Picture Description
2. binary
Here Insert Picture Description
Here Insert Picture Description
file pointer
Here Insert Picture Description
to open the file
Here Insert Picture Description
Here Insert Picture Description
close file: int fclose (FILE * fp) ;
Here Insert Picture Description
read text file write: text files stored in units of strings, such as C program source code, such as a text, it is generally by line write or read data
Here Insert Picture Description
Here Insert Picture Description
Here Insert Picture Description
vi /tmp/test1.txt, visible five rows, no matter how many executed times are 5 rows, because the file open mode is w, each time the file is opened are emptied original recorded file
Here Insert Picture Description
Here Insert Picture Description
Here Insert Picture Description
reading and writing binary file
Here Insert Picture Description
Here Insert Picture Description
Here Insert Picture Description
Here Insert Picture Description
GCC -o book115 book115.c
Here Insert Picture Description
VI /tmp/test1.dat
Here Insert Picture Description
Here Insert Picture Description
Here Insert Picture Description
Here Insert Picture Description
Here Insert Picture Description
Here Insert Picture Description
Here Insert Picture Description
Here Insert Picture Description
Here Insert Picture Description
Here Insert Picture Description
Here Insert Picture Description
Here Insert Picture Description
Here Insert Picture Description
Here Insert Picture Description
Here Insert Picture Description
Here Insert Picture Description
Here Insert Picture Description
Here Insert Picture Description
Here Insert Picture Description
Here Insert Picture Description
file buffer
Here Insert Picture Description
Here Insert Picture Description
Here Insert Picture Description
standard input / O / error
Here Insert Picture Description
Here Insert Picture Description
Here Insert Picture Description
Here Insert Picture Description
Here Insert Picture Description
Here Insert Picture Description
Here Insert Picture Description
Here Insert Picture Description
Here Insert Picture Description
Here Insert Picture Description
Here Insert Picture Description
Here Insert Picture Description
Here Insert Picture Description
Here Insert Picture Description
Here Insert Picture Description
Here Insert Picture Description
Here Insert Picture Description
Here Insert Picture Description
the following information is parsed xml:
Here Insert Picture Description
Here Insert Picture Description
Here Insert Picture Description
Here Insert Picture Description

2.目录操作:getcwd,chdir,opendir,readdir,closedir,stat,utime,rename,remove

Get the current directory
Here Insert Picture Description
Here Insert Picture Description
Here Insert Picture Description
Change directory
Here Insert Picture Description
Here Insert Picture Description
Here Insert Picture Description
to create and delete directories
Here Insert Picture Description
Here Insert Picture Description
get a list of files in a directory, similar to the ls command
Here Insert Picture Description
2. library functions
Here Insert Picture Description
we are only concerned d_type structure (described file types, there are a variety of values, most importantly, 8 and 4 , 8 regular file, 4-directory) and d_name (file or directory name) members, other do not care about
Here Insert Picture Description
Here Insert Picture Description
Here Insert Picture Description
Here Insert Picture Description
Here Insert Picture Description
Here Insert Picture Description
Here Insert Picture Description
the following to automatically create a subdirectory
Here Insert Picture Description
Here Insert Picture Description
Here Insert Picture Description
Here Insert Picture Description
macro equivalent of typedef, define an alias
Here Insert Picture Description
Here Insert Picture Description
Here Insert Picture Description
1.stat structure
Here Insert Picture Description
Here Insert Picture Description
2.stat library functions
Here Insert Picture Description
Here Insert Picture Description
Here Insert Picture Description
Here Insert Picture Description
utime library functions
Here Insert Picture Description
Here Insert Picture Description

Here Insert Picture Description
Here Insert Picture Description
Here Insert Picture Description
Here Insert Picture Description
Here Insert Picture Description
Here Insert Picture Description
Here Insert Picture Description

3. Operation Time: time_t data type, time (), tm structure, localtime (), mktime (). timeval, timezone, gettimeofday ()

Alias time_t
Here Insert Picture Description
time_t time (time_t * t): returns time_t, following a time libraries
Here Insert Picture Description
ld long integer, the random number seed is a time (0) generated by
Here Insert Picture Description
providing a series of functions and the following C language structure to solve the above required number of days, and so on which year, .h file structure may be defined
Here Insert Picture Description
Here Insert Picture Description
Here Insert Picture Description
Here Insert Picture Description
Here Insert Picture Description
Here Insert Picture Description
Here Insert Picture Description
Here Insert Picture Description
Here Insert Picture Description
Here Insert Picture Description
accurate to the microsecond timer
Here Insert Picture Description
Here Insert Picture Description
Here Insert Picture Description
Here Insert Picture Description
sys / time.h header file system is linux
Here Insert Picture Description
Here Insert Picture Description
Here Insert Picture Description
Here Insert Picture Description
Here Insert Picture Description
Here Insert Picture Description
Here Insert Picture Description
time_t from. to. the total number of seconds, strtime is "2019 -02-08 .... " May intercepted two characters, the address offset. Therefore, write "2019-02-08 ..." instead of "2019-2-8 ...", for convenience of address offset with the interception, "2019-2-8 ..." this form required by the - or: slicing string
Here Insert Picture Description
Here Insert Picture Description
Here Insert Picture Description
obtained as the integral time timer, to make integral time offset. If the structure is defined as nowtimer * nowtimer pointer, pointer appear below are nowtimer (localtime since the return address, so the front localtime not starred variant pointer to fetch the address value), nowtimer.tm_year replaced nowtimer-> tm_year.
Here Insert Picture Description
Here Insert Picture Description
Here Insert Picture Description
Here Insert Picture Description
Here Insert Picture Description

4. The system error messages: strerror (), perror ()

Here Insert Picture Description
strerror library functions
Here Insert Picture Description
Here Insert Picture Description
Here Insert Picture Description
Here Insert Picture Description
Here Insert Picture Description
Here Insert Picture Description
Here Insert Picture Description
Here Insert Picture Description
Here Insert Picture Description
concern error purpose is to obtain more detailed error information, error messages may be helpful for programmers diagnostic procedures, but not required.
Here Insert Picture Description

5. preprocessor: -E, Macro

Here Insert Picture Description
Here Insert Picture Description
-E parameter is the pretreatment, # include those that can be seen in the contents of the file header file book.E
Here Insert Picture Description
Here Insert Picture Description
preprocessing directives
Here Insert Picture Description
1 include file
Here Insert Picture Description
Here Insert Picture Description
Here Insert Picture Description
Here Insert Picture Description
2. macro definition instruction
Here Insert Picture Description
Here Insert Picture Description
Here Insert Picture Description
Here Insert Picture Description
Here Insert Picture Description
without macro parameters defined in the following format:
Here Insert Picture Description
macro arguments:
Here Insert Picture Description
Here Insert Picture Description
Here Insert Picture Description
3. Conditions compile: the two most common formats #ifdef and #ifndef
Here Insert Picture Description
Here Insert Picture Description
Here Insert Picture Description
Here Insert Picture Description
Here Insert Picture Description
Here Insert Picture Description
follows book145.c and _public.c have #include "_public.h", repeats contain
Here Insert Picture Description
the following written in _public.h in, _public.h not will be repeated contains
Here Insert Picture Description
3. #undef: cancel identifier defined
Here Insert Picture Description

6.gdb Debug: set args, b, r, n, s

Multi-feed / thread can not use gdb debugger, or use printf, but the results will not show to the screen, written to a log file. root user: yum -y install gdb, gdb -v
Here Insert Picture Description
Here Insert Picture Description

7.makefile file: dependency files function

Here Insert Picture Description
make is a command tool, the tool is a command in the makefile instructions explain, in general, most compilers have this command, you can make use of a number of re-compiled minimized. File name makefile. vi gcc.sh follows, sh gcc.sh
Here Insert Picture Description
above, if only to compile book2, a single file without recompiling other files change i.e. incremental compilation. vi makefile, before a tab key can not be $ 8 spaces.
The default is to make all make, if all this line book3 deleted, the compiler will not make book3, you can specify the make book3, book3 equivalent label.
- Euro 2 is to get the highest coding efficiency, generally with the official release.
Here Insert Picture Description

Published 18 original articles · won praise 113 · views 20000 +

Guess you like

Origin blog.csdn.net/weixin_43435675/article/details/102924068