linux系统IO练习
一:使用read、write实现cp功能
1.main函数传参
2.代码
二、计算一个文件的字母个数
准备一份普通txt,里面存放随机数据(有汉字和字母)统计字母的个数!
#include
#include
#include
#include
#include
#include
// 计算英文字母的个数
int Count_Letter(int argc,char *argv[]);
int main(int argc,char *argv[])
{
Count_Letter(argc,argv);
return 0;
}
int Count_Letter(int argc , char *argv[])
{
if(argc != 2 || access(argv[1],F_OK) )
{
perror("命令行 或者文件不存在");
return -1;
}
char array = '\0';
int nume = 0,nume_chinese=0,mask =0;
int open_fd = open(argv[1],O_RDONLY);
if(open_fd == -1)
{
perror("open");
return -1;
}
while( (read(open_fd,&array,1)) != 0)
{
if((array >= 'a'&& array
|| (array>= 'A' && array
{
nume++;
}
else if((array >= 0 && array
|| (array>=91 && array
|| (array>=123 && array
{
array = '\0';
continue;
}
else
{
mask++;
if(mask%3==0)
{
nume_chinese++;
mask =0;
}
}
bzero(&array,1);
}
printf("%s文件中的字母个数为:%d\n",argv[1],nume);
printf("%s文件中的中文字符(包含标点符号)个数为:%d\n",argv[1],nume_chinese);
return 0;
}