上一页 1 ··· 36 37 38 39 40 41 42 43 44 ··· 59 下一页
摘要: 一、程序 程序(program)是存放在磁盘上、处于某个目录中的一个可执行文件。使用6个exec函数中的一个由内核将程序读入存储器,并使其执行。二、进程和进程ID 程序的执行实例被称为进程(process)。某些操作系统使用任务(task)表示正在执行的程序。 UNIX系统确保每个进程都有一个唯一的数字标识符,称为进程ID(process ID)。进程ID总是一个非负整数。 程序清单1-4 打印进程ID[root@localhost unix_env_advance_prog]# cat prog1-4.c#include "apue.h"intmain(void){ p. 阅读全文
posted @ 2013-12-28 11:19 ITtecman 阅读(1129) 评论(4) 推荐(0) 编辑
摘要: 一、文件描述符 文件描述符(file descriptor)通常是一个小的非负整数,内核用它标识一个特定进程正在访问的文件。当内核打开一个已有文件或创建一个新文件时,它返回一个文件描述符。在读、写文件时,就可以使用它。二、标准输入、标准输出和标准出错 按惯例,每当运行一个新程序时,所有的shell都会为其打开三个文件描述符:标准输入(standard input)、标准输出(standard output)以及标准出错(standard error)。如果没有做什么特殊处理(如重定向),则这三个描述符都链向终端。三、不用缓冲的I/O 函数open、read、write、lseek以及cl... 阅读全文
posted @ 2013-12-28 10:18 ITtecman 阅读(606) 评论(0) 推荐(0) 编辑
摘要: 程序清单1-1 列出一个目录中的所有文件(ls命令的简要实现):[root@localhost unix_env_advance_prog]# cat prog1-1.c #include "apue.h"#include int main(int argc, char *argv[]){ DIR *dp; struct dirent *dirp; if(argc != 2) err_quit("Usage: ls directory_name"); if((dp = open... 阅读全文
posted @ 2013-12-28 09:17 ITtecman 阅读(257) 评论(0) 推荐(0) 编辑
摘要: [root@localhost unix_env_advance_prog]# cat error.c #include "apue.h"#include #include static void err_doit(int, int, const char *, va_list);/** Nonfatal error related to a system call.* Print a me... 阅读全文
posted @ 2013-12-28 09:13 ITtecman 阅读(331) 评论(0) 推荐(0) 编辑
摘要: [root@localhost unix_env_advance_prog]# cat apue.h #ifndef _APUE_H#define _APUE_H#define _XOPEN_SOURCE 600#include #include #include #ifndef TIOCGWINSZ#include #endif#include #include #include #inc... 阅读全文
posted @ 2013-12-28 09:11 ITtecman 阅读(922) 评论(0) 推荐(0) 编辑
摘要: 首先,明确一个类型DIR的含义:#include DIR A type representing a directory stream. DIR是在目录项格式头文件dirent.h中定义的,它表示一个目录流类型。一、opendir - open a directorySYNOPSIS #include #include DIR *opendir(const char *name); DESCRIPTIONopendir函数打开一个与给定的目录名name相对应的目录流,并返回一个指向该目录流的指针。打开后,该目录流指向了目录中的第一个目录项。 RETURN VALUEopendir函... 阅读全文
posted @ 2013-12-28 08:40 ITtecman 阅读(17374) 评论(0) 推荐(0) 编辑
摘要: UNIX文件系统是目录和文件组成的一种层次结构。目录(directory)是一个包含许多目录项的文件,在逻辑上,可以认为每个目录项都包含一个文件名,同时还包含说明该文件属性的信息。文件属性是指文件类型(是普通文件还是目录)、文件大小、文件所有者、文件权限以及文件最后的修改时间等。stat和fstat函数可获取包含文件所有属性的一个信息结构(可使用man fstat查看这两个函数的帮助信息)。stat, fstat, lstat – 获取文件属性信息SYNOPSIS #include #include #include int stat(const char *path... 阅读全文
posted @ 2013-12-27 21:47 ITtecman 阅读(1795) 评论(0) 推荐(0) 编辑
摘要: 一、I/O流操作一般流程:(1)为每一个要打开的文件定义一个FILE *类型的指针变量,这个指针变量将指向I/O流使用的FILE结构体。(2)使用fopen函数打开I/O流。要打开一个I/O流,必须指定要打开的文件(或设备)以及打开后的访问方式(如:只读、只写或读写等)。(3)按照需要的操作读写文件。(4)最后,使用fclose函数关闭该I/O流。在标准流(stdin、stdout和stderr)上进行I/O操作不需要打开和关闭。(stdin、stdout和stderr其实也是执行FILE结构体的指针,它们是由运行时环境提供的)。I/O函数处理数据的方式分为三种:单字符、文本行和二进制数据。不 阅读全文
posted @ 2013-12-27 09:53 ITtecman 阅读(820) 评论(0) 推荐(0) 编辑
摘要: http://www.cnblogs.com/clarkchen/archive/2011/06/02/2068609.html 我一直没有搞得很清楚,回车和换行符有啥区别。 记得大一时,C语言老师就说过回车、换行,但都没说得那么细。前两天,看写两句Perl代码时,忽然想起区别一下回车和换行(\r和\n)。现在理解清楚了,记个笔记吧。 符号 ASCII码 意义 \... 阅读全文
posted @ 2013-12-26 11:31 ITtecman 阅读(488) 评论(0) 推荐(0) 编辑
摘要: 对于库函数出错处理有两个十分有用的函数perror和exit: 一、错误报告 perror函数用一种简单统一的方式报告错误。ANSI C中的许多库函数,尤其是I/O函数,会调用操作系统去执行一些工作。但你要知道,任何时候操作系统都会有出错的可能。例如,一个程序试图去读取一个不存在的磁盘文件,这时操作系统除了提示:“出错了!”,别的它也做不了什么。这时,库函数首先会将代表操作出错的具体原因的错误... 阅读全文
posted @ 2013-12-26 10:45 ITtecman 阅读(438) 评论(0) 推荐(0) 编辑
上一页 1 ··· 36 37 38 39 40 41 42 43 44 ··· 59 下一页