该程序打开一篇英文文章的文本文件,将其内容读入缓冲区中,之后累加字母数,数字数和空格数即可。其中有个优化是字母出现最频繁所以放在第一个进行条件判断,空格其次,出现频率最低的要属数字数。
#include <stdio.h>
#include <stdlib.h>
#define MAX 1024
int main()
{
FILE *fp;
char buf[MAX];
int n;
int letter=0,blank=0,number=0;
fp=fopen("article.txt","r");
if(fp==NULL)
{printf("fail to open");
exit(1);
}
while((n=fread(buf,sizeof(char),MAX,fp))>0)
{int i;
for(i=0;i<n;i++)
{if((buf[i]>='a'&&buf[i]<='z')||(buf[i]>='A'&&buf[i]<='Z'))
letter++;
else
if(buf[i]==' ')
blank++;
else
if(buf[i]>='0'&&buf[i]<='9')
number++;
}
//printf("%d %d\n",i,number);
}
printf("letter %d,number %d,blank %d\n",letter,number,blank);
fclose(fp);
return 0;
}
需要注意的是:
linux网络设置指令:setup
linux网络重启指令:/etc/init.d/init,d/network restart
文字的颜色代表权限 绿色代表可执行 修改权限的方法chmod 文件名 777
针对缓冲区变量buf[MAX]定义时,要注意定义其类型为char,如 char buf[MAX];
关于在linux环境下,写文件的打开,读取以及关闭,分别用fopen,fread,fclose;
当需要打开一个文件是如a.txt,你在这之前必须在你的当前文件夹内使用vi a.txt创建一个文件
fread
功 能: 从一个流中读数据
函数原型: size_t fread(void *buffer,size_t size,size_t count,FILE *stream);
参 数:
1.用于接收数据的地址(指针)(buffer)
2.单个元素的大小(size) :单位是字节而不是位,例如读取一个int型数据就是4个字节
3.元素个数(count)
4.提供数据的文件指针(stream)
返回值:读取的元素的个数
Linux系统文件名字体不同的颜色都代表什么