Linux服务器编程之:utime()函数

1.依赖的头文件

#include<sys/types.h>

#include<utime.h>

2函数声明

int utime(const char *filename, const struct utimbuf *times);

#include<sys/time.h>

int utimes(const char *filename,const struct timeval times[2]);

函数说明:

The  utime()  system  call changes the access and modification times of
       the inode specified by filename to the actime  and  modtime  fields  of
       times respectively.

       翻译:调用utime来修改inode中的信息,传递的值有:文件名,访问时间和更改时间。

If  times  is  NULL, then the access and modification times of the file
       are set to the current time.

      翻译:如果时间为NULL,访问时间和修改时间默认设置成了当前时间。

      成功放回0,失败返回1

3.下面是    utimbuf这个结构体:

     struct utimbuf

     {

              time_t atime;          /*access time :访问时间*/

              time_t modtime;     /*modification time : 更改时间*/

     };

4.utimes()调用也

The utimes() system call is similar, but the times argument  refers  to
       an  array  rather  than  a  structure.   The elements of this array are
       timeval structures, which allow a precision of 1 microsecond for speci‐
       fying timestamps.  The timeval structure is:

           struct timeval {
               long tv_sec;        /* seconds */
               long tv_usec;       /* microseconds */
           };

       times[0]  specifies the new access time, and times[1] specifies the new
       modification time.  If times is NULL, then analogously to utime(),  the
       access and modification times of the file are set to the current time.

utimes()的调用也相似,但是这个时间指定的是一个数组,而不是一个结构体,数组的每个元素师一个timeval结构体

这个结构体中允许一个为timestamps所用的精确的微秒值(微秒,百万分之一秒),其中timeval结构体如下:

       struct timeval

       {

             long tv_sec;          /*seconds 秒*/

             long tv_usec;        /*microseconds 微秒,百万分之一秒*/

       }

times[0]这个元素指定的是访问时间,times[1]指定的是修改时间。如果时间为NULL,那么,类似(analogously)utime(),

访问时间和修改时间被设置成当前时间。



时间: 2024-12-01 02:10:33

Linux服务器编程之:utime()函数的相关文章

Linux服务器编程之:link()函数,ln命令,symlink,readlink,案例说明

1 link()依赖头文件 #include<unistd.h> 2函数定义 int link(const char *oldpath,const char *newpath); 函数说明:  link()  creates  a  new link (also known as a hard link) to an existing        file.        翻译:link()函数为一个已经存在的文件创建一个新的链接(也就是通常所说的"硬链接") If ne

Linux服务器编程之:chown()函数,chown命令

1.依赖的头文件 #include<unistd.h> 2.函数定义: //通过传入path的方式,改变和文件的拥有关系,如果他是一个符号链接,则跟踪它 int chown(const char *path, uid_t owner, gid_t group); //通过文件描述的方式进行修改用户所有组等的情况 int fchown(int fd, uid_t owner, gid_t group); //和chown不同的是它不跟踪符号链接 int lchown(const char *pa

Linux网络编程之UDP Socket程序示例_C 语言

在网络传输协议中,TCP协议提供的是一种可靠的,复杂的,面向连接的数据流(SOCK_STREAM)传输服务,它通过三段式握手过程建立连接.TCP有一种"重传确认"机制,即接收端收到数据后要发出一个肯定确认的信号,发送端如果收到接收端肯定确认的信号,就会继续发送其他的数据,如果没有,它就会重新发送. 相对而言,UDP协议则是一种无连接的,不可靠的数据报(SOCK_DGRAM)传输服务.使用UDP套接口不用建立连接,服务端在调用socket()生成一个套接字并调用bind()绑定端口后就可

c语言 socket编程-C语言网络编程之listen函数的实现

问题描述 C语言网络编程之listen函数的实现 请教: listen函数方法实现,函数体是什么 我抄了一段代码为什么执行到listen函数这儿就不往下执行了也不报错

linux 网络编程之TIME_WAIT状态

                                                         Linux 网络编程之TIME_WAIT状态                                                               刚刚开始看TCP socket的4次握手终止流程图的时候,对于最后的TIME_WAIT状态不是很理解.现在在回过头来研究,发现TIME_WAIT状态是一个很微妙状态.之所以设计TIME_WAIT状态的原因有2个原因:

linux网络编程之socket(十二) select函数的并发限制和poll函数应用举例

一.用select实现的并发服务器,能达到的并发数,受两方面限制 1.一个进程能打开的最大文件描述符限制. 这可以通过调整内核参数.可以通过ulimit -n来调整或者使用setrlimit函数设置, 但一个系统所能打开的最大数也是有 限的,跟内存大小有关,可以通过cat /proc/sys/fs/file-max 查看 2.select中的fd_set集合容量的限制 (FD_SETSIZE,一般为1024) ,这需要重新编译内核. 可以写个测试程序,只建立连接,看看最多能够建立多少个 连接,客

linux网络编程之socket(十) shutdown与close函数的区别

假设server和client 已经建立了连接,server调用了close, 发送FIN 段给client(其实不一定会发送FIN段,后面再说 ),此时server不能再通过socket发送和接收数据,此时client调用read,如果接收到FIN 段会返回0,但client此时还是 可以write 给server的,write调用只负责把数据交给TCP发送缓冲区就可以成功返回了,所以不会出错,而server收到数据 后应答一个RST段,表示服务器已经不能接收数据,连接重置,client收到R

linux编程之pipe()函数详解_Linux

管道是一种把两个进程之间的标准输入和标准输出连接起来的机制,从而提供一种让多个进程间通信的方法,当进程创建管道时,每次都需要提供两个文件描述符来操作管道.其中一个对管道进行写操作,另一个对管道进行读操作.对管道的读写与一般的IO系统函数一致,使用write()函数写入数据,使用read()读出数据. #include<unistd.h> int pipe(int filedes[2]); 返回值:成功,返回0,否则返回-1.参数数组包含pipe使用的两个文件的描述符.fd[0]:读管道,fd[

linux网络编程之socket(十五) UNIX域套接字编程和socketpair 函数

一.UNIX Domain Socket IPC socket API原本是为网络通讯设计的,但后来在socket的框架上发展出一种IPC机 制,就是UNIX Domain Socket.虽然网络socket也可用于同一台主机的进程间通讯(通过loopback地址127.0.0.1),但是 UNIX Domain Socket用于IPC更有效率:不需要经过网络协议栈,不需要打包拆包.计算校验和.维护序号和应答等,只是 将应用层数据从一个进程拷贝到另一个进程.UNIX域套接字与TCP套接字相比较,