linux c 读取文件行数
linux c 读取文件行数参照wc 系统命令编写的函数如下:
#include <fcntl.h>
#include <stdlib.h>
#define MAXBSIZE 65536
u_long file_wc(char *file)
{
register u_char *p;
register short gotsp;
register int ch, len;
register u_long linect, charct;
int fd;
u_char buf[MAXBSIZE];
if (file) {
if ((fd = open(file, O_RDONLY, 0)) < 0)
return -1;
for (gotsp = 1; len = read(fd, buf, MAXBSIZE);) {
if (len == -1)
return -1;
charct += len;
for (p = buf; len--;) {
ch = *p++;
if (ch == '\n')
++linect;
if (isspace(ch))
gotsp = 1;
else if (gotsp) {
gotsp = 0;
}
}
}
}
return linect;
}
测试c
#include <stdlib.h>
int main(int argc,char *argv[])
{
u_long row;
row= file_wc("test.unl");
printf("%d\n",row);
return 0;
}
相关文档:
Linux磁盘存储区管理算的上一个技巧,很多朋友在这上面常常问我,今天我就把这方面的东西汇总一下,从Linux特有的交换分区的原理开始介绍Linux磁盘存储区管理的原理及技巧。
Linux磁盘存储区管理原理篇
1. 交换空间是什么
Linux 中的 交换空间(Swap space) 在物理内存(RAM)被充满时被使用。如果系统需要更多的内存资 ......
面对不断升级的内核,如何学习linux设备驱动
  ......
linux中线程相关函数
2010年03月09日 星期二 22:18
1. 比较两个线程 ID 是否一致。
线程ID 使用 pthread_t 数据类型来表示。Linux 使用 unsigned long int 表示pthread_t 数据类型。Solaris 9 把 pthread_t 数据类型表示为 unsigned int。FreeBSD5.2.1 和 MAC OS X 10.3 用一个指向 pthread ......
(加#的命令为必须在根用户权限下操作)
一、关机与重新启动
1)#init 0重启 #init 6关机(改变系统运行级别的方法)
2)#reboot重启 #halt关机(命令法)
3)#showdown -h +5 (5分钟后关机) #showdown -r +5(5分钟后重启)
二、常用目录操作命令
1)显示文件和目录:ls -a ......
设计一个linux下的deamon进程,关键只有几个:
1.fork两次。
2.fork第一次和第二次之间成为进程组头。
3.改变工作目录。
4.忽略信号。
5.设置读写掩码。
一下是一个从网络搜集到的例程,非常好的演示了上述要点,存此备忘。
#include
#include
#include
#include
void main(int argc, char ** argv)
{
tim ......