⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 test12_1.txt

📁 人民邮电出版社的经典著作《Linux下的C编程》配套源码!初学者的必备!共14章
💻 TXT
字号:
#include "headfile.h"
#include <stdio.h>
#include <errno.h>

size_t readn(int fd,void *vptr,size_t n)
{
  	size_t nleft;
  	size_t nread;
  	char *ptr=vptr;
  	nleft=n;
  	while(nleft>0)
  	{
  		if((nread=read(fd,ptr,nleft))<0)
   		{
      			if(errno==EINTR)
       				nread=0;
     	    		else
            			return(-1);
    		}
		else if(nread==0)
  			break;
  		nleft=nleft-nread;
  		ptr+=nread;
	}
	return(n-nleft);
}

//#include "hesdfile"
#include <stdio.h>
#include <errno.h>

size_t written(int fd,const char *vptr,size_t n)
{
  	size_t nleft;
  	size_t nwrite;
	const char *ptr=vptr;
 	nleft=n;
	while(nleft>0)
	{
 		if((nwrite=write(fd,ptr,nleft))<0)
  		{
    		if(errno==EINTR)
      			nwrite=0;
    		else
      		return(-1);
  		}
  		nleft=nleft-nwrite;
  		ptr+=nwrite;
	}
    	return(n-nleft);
}

#include "headfile.h"
#include <stdio.h>
#include<errno.h>
size_t readline(int fd,void *vptr,size_t maxlen)
{
  	size_t n,rc;
  	char c,*ptr,vptr;
  	for(n=1;n<maxlen;n++)
  	{  
     		again:
     		if((rc=read(fd,&c,1))==1)
     		{
        		*ptr+=c;
        		if(c=='\n')
           		break;
      		}
      		else if(rc==0)
      		{
         		if(n==1)
         			return(0);
         		else
         			break;
       		}
       		else
       		{
          		if(errno==EINTR)
              		goto again;
          		return(-1);
 		}
	} 
    	*ptr=0;
    	return(n);
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -