
unix高级编程学习
文章平均质量分 81
lxh_hust
这个作者很懒,什么都没留下…
展开
-
unix环境下的文件操作的一些函数open()、close()、read()、write()、dup()、fsync()sync()函数
不带缓存的文件I/O操作主要有5个函数open、read、write、lseek和close。这几个不带缓存的操作是指每一个函数都只调用系统中的一个函数。这些函数不是ANSIC组成部分,但属于POSIX的组成部分。1.open函数(返回的文件描述符一定是最小的且没有被用过的数值)open 函数用于打开和创建文件。所需都文件#include//提供pid_t类型的定义原创 2012-07-15 19:02:00 · 11299 阅读 · 1 评论 -
unix文件和目录操作的函数stat()、fstat()、lstat()、access()、umask()函数
(1)stat()函数:通过文件名filename来获取文件的属性值表头文件: #include #include 定义函数: int stat(const char *file_name, struct stat *buf);函数说明: 通过文件名filename获取文件信息,并保存在buf所指的结构体stat中返回值:原创 2012-07-17 14:52:47 · 4767 阅读 · 0 评论 -
exec函数族的详解
exec函数族也许有不少读者从本系列文章一推出就开始读,一直到这里还有一个很大的疑惑:既然所有新进程都是由fork产生的,而且由fork产生的子进程和父进程几乎完全一样,那岂不是意味着系统中所有的进程都应该一模一样了吗?而且,就我们的常识来说,当我们执行一个程序的时候,新产生的进程的内容应就是程序的内容才对。是我们理解错了吗?显然不是,要解决这些疑惑,就必须提到我们下面要介绍的exec系统转载 2012-07-18 16:15:49 · 1376 阅读 · 1 评论 -
unix下面目录的详细操作(包括实现给定目录遍历下面所有文件)
与目录相关的有:#include(1)DIR *opendir(const char *pathname);打开一个目录,并且返回一个DIR类型的指针(2)struct dirent *readdir(DIR *dp);读一个目录并且返回一个dirent类型的指针。(3)void rewinddir(DIR *dp);(4)long telldir(DIR *dp);原创 2012-07-19 16:34:47 · 2541 阅读 · 0 评论 -
linux下的多线程编程
1 引言 线程(thread)技术早在60年代就被提出,但真正应用多线程到操作系统中去,是在80年代中期,solaris是这方面的佼佼者。传统的Unix也支持线程的概念,但是在一个进程(process)中只允许有一个线程,这样多线程就意味着多进程。现在,多线程技术已经被许多操作系统所支持,包括Windows/NT,当然,也包括Linux。 为什么有了进程的概念后,还要再引入线程呢?使用转载 2012-07-23 15:39:26 · 3251 阅读 · 0 评论 -
文件操作中的lseek函数详解
所有打开的文件都有一个当前文件偏移量(current file offset),以下简称为 cfo。cfo 通常是一个非负整数,用于表明文件开始处到文件当前位置的字节数。读写操作通常开始于 cfo,并且使 cfo 增大,增量为读写的字节数。文件被打开时,cfo 会被初始化为 0,除非使用了 O_APPEND 。 使用 lseek 函数可以改变文件的 cfo 。 #inc原创 2012-07-24 09:27:49 · 15911 阅读 · 0 评论 -
pthread_create函数的详细讲解(包括向线程函数传递参数详解)
pthread_create是UNIX环境创建线程函数头文件 #include函数声明 int pthread_create(pthread_t*restrict tidp,const pthread_attr_t *restrict_attr,void*(*start_rtn)(void*),void *restrict arg);返回值 若成功则返原创 2012-07-20 14:52:57 · 169609 阅读 · 9 评论