Unix/Linux编程实践教程一 who的编写

#include<stdio.h>
#include<utmp.h>
#include<fcntl.h>
#include<unistd.h>

登录用户的信息存储在/var/run/utmp下

void perror(const char *s);
打印出错的信息

1 输出字符串的格式控制
printf("%Ns",str) //输出指定长度的字符串,超长时不截断,默认的右对齐

printf("%-Ns",str) //输出指定长度的字符串,超长时不截断,不足时左对齐

printf("%N.Ms",str) //输出指定长度的字符串,超长时截断,不足时右对齐。N为最终的字符串输出长度,M为从参数字符串中取出的子串长度。

fd=open(UTMP_FILE,O_RDWR);//以读写的方式打开

strcmp(rec.ut_line,myline);//比较两个字符串是否相等,如果相等返回0

文件中的指针是与文件描述符相关联的,而不是与文件关联,所以如果两个程序同时打开一个文件,这时会有两个指针,两个程序对文件的读操作不会互相干扰。

#include<sys/type.h>
#include<unistd.h>

off_t oldpos=lseek(int fd,off_t dist,int base);
base:
SEEK_SET 文件的开始
SEEK_CUR 文件的当前位置
SEEK_END 文件的结尾

你可能感兴趣的:(linux)