大橙子网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
分享一个特简单的求文本文件行数的程序
创新互联是一家集网站建设,潜江企业网站建设,潜江品牌网站建设,网站定制,潜江网站建设报价,网络营销,网络优化,潜江网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。
这里主要利用了标准IO相关的两个函数
FILE *fopen(const char *path,const char *mode);
char *fgets(char *s,int size,FILE * stream);
fopen()函数主要用于打开一个文件(前提是文件要有可读权限);
函数具体用法:第一个参数是目标文件的路径或者文件名,第二个参数为打开方式,这里为可读“r”,其返回值是一个FILE结构流指针,下次操作这个打开的文件就操作这个FILE指针;
fgets()函数主要用于读取,相对于gets()这里的fgets()参数略多但是它带有缓存机制,参数多也带来了好处,其中第二个参数size:表示每次从流中读入size-1个字符,第一个参数s: 字符型指针,指向存储读入数据的缓冲区的地址;第三个参数及需要读取的流;
整个程序主要利用以上两个函数,话不多说代码送上,简单易懂;
#include#include #define BUF_SIZE 200 int main(int arg,char *argv[]) { if(arg != 2) { printf("重新输入参数\r\n"); return -1; } int cont = 0; FILE *fd=fopen(argv[1],"r"); if(fd == NULL) { printf("fopen err\r\n"); return -1; } char buf[BUF_SIZE]={0}; while(fgets(buf,2,fd) != NULL) { if((buf[strlen(buf)-1]) == '\n') { cont++; } } printf("cont= %d\r\n",cont); return 0; }
此函数是需要传参的,给主函数设置了两个参数,一个是限制参数个数为两个,另一个则在代码中标记需要处理的函数,所以可执行文件后需要带一个参数(需要计算行数的文本文件)