Linux 系统接口函数,Linux平台下利用系统接口函数按照行读写文件

要求:支持大文件(1M)一次性读入

源代码如下:

#include

#include

#include

#include

#define rwmode 2

//清屏命令函数

void clear()

{

char clscode[] = {0x1B, 0x5B, 0x48, 0x1B, 0x5B, 0x4A};

printf("%s",clscode);

}

//打开文件

int openFile()

{

int fd;

fd=open("/root/wcy/test1/test.txt",rwmode);

if(fd==-1){

printf("打开文件失败,文件路径不正确或者文件不存在!\n");

exit(0);

}else return fd;

}

//读取文件

void readFile(int fd,char buffer[],int len){

int n=read(fd,buffer,len);

buffer[n]=‘\0‘;

printf("文件的内容是:");

printf("%s",buffer);

printf("\n");

}

void lseekFile(int fd){

if(lseek(fd,0L,SEEK_END)==-1){

clear();

printf("定位读写文件失败!");

}

else{

char block[512]=" lseek file";

write(fd,block,strlen(block));

printf("定位读写文件成功!\n");

}

}

int main(){

int fd,n,select;

char buffer[1024*1024];

clear();

while(1){

printf("******************************\n") ;

printf("****** 读写文件系统 ******\n");

printf("**** 1 显示特定文件内容:****\n");

printf("**** 2 定位读写文件内容:****\n");

printf("**** 0 退出本系统 *****\n");

printf("******************************\n");

printf("请输入功能编号:");

scanf("%d",&select);

switch(select){

case 0:

clear();

close(fd);

exit(0);

case 1:

clear();

fd=openFile();

readFile(fd,buffer,sizeof(buffer)-1);

close(fd);

break;

case 2:

clear();

fd=openFile();

lseekFile(fd);

close(fd);

break;

default:

clear();

printf("你输入功能编号错误,请重新输入!\n");

}

}

exit(0);

}

注意:运行此程序的时候,务必有文件"/root/wcy/test1/test.txt",如果没有这个目录下的这个文件,请修改成你的文件所在的目录。

原文:http://www.cnblogs.com/wangchaoyuan/p/5612011.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值