【Linux编程实践教学(Bruce Molay)】第1章 Unix系统编程概述
1. Unix系统原理
-
计算机用操作系统来管理所有的资源,将不同设备与程序通过操作系统连接起来。从连接的角度来讲,键盘和显示卡直接连接到计算机的主板上,CPU和内存(设备)通过插槽直接连接到主板上,而操作系统相当于主板上的电路印刷板。
-
操作系统也是程序,是一个特殊的程序,存储在内存中,该程序实现“将其他程序与设备连接起来”的功能。操作系统又叫内核kernel
-
内存是用来存放程序和数据的,存放操作系统这个程序的内存空间叫做系统空间,存放应用程序的内存空间叫做用户空间
-
more命令:打印输出文件内容 ;
bc命令:将用户输入算是转化为逆波兰表达式传给远程dc,dc执行完后返回计算结果。 -
Linux下main函数的参数:
(1)argc:命令行参数的个数(包括最开始的可执行文件名称)(2)argv(指针数组):字符指针的数组,每个元素都是一个指向字符串的字符指针,而字符串就是命令行中的每一个参数;
数组长度与argc的值一样,代表命令行参数个数 -
FILE *fp;
FILE是在stdio.h中定义的结构体类型,封装了与文件有关的信息,如文件句柄、位置指针及缓冲区等,缓冲文件系统为每个被使用的文件在内存中开辟一个缓冲区,
用来存放文件的有关信息,这些信息被保存在一个FILE结构类型的变量中,fp是一个指向FILE结构体类型的指针变量。
要想该指针指向一个文件,并操纵它,则需要:fp=fopen(xxxx)
;输入,输出,错误流可直接赋给fp指针。 -
fgets函数—详见:fgets详解
原型:fgets(s,n,stdin);
假设在控制台下,我们可以用fgets(…)替代gets(),读入键盘输入的信息,fgets()是安全的,因为不会像gets()有溢出的可能。
比如 :输入 abc
fgets(s,n,stdin)也会读入n-1个字符。但是只是从stdin流读入。