统计文件中有多少个单词amp;c语言实现

假设文件中的单词都是字母的组合,且单词间用空格或者“."区分。
实验环境:Dev-C++
#include<stdio.h>
#include<stdlib.h>int main(){FILE *fp;int i;int fr;long fsize;int word=0;int sum=0;char filename[20];char *buffer;printf("要检查的文件:");scanf("%s",filename);fp=fopen(filename,"rb");if(!fp){perror("fp:");exit(0);}fseek(fp,0,SEEK_END);/*int fseek(FILE*stream,long offset,int fromwhere);参数:stream:FILE类型指针;offset 整数类型参数;fromwhere:文件头0(SEEK_SET),当前位置1(SEEK_CUR), 文件尾2(SEEK_END) ;取值0-2; 功能:设置文件指针stream的位置返回:成功:stream将指向以fromwhere为基准,偏移offset个字节的位置,函数返回0失败:不改变stream的指向的位置,函数返回一个非0值 */fsize=ftell(fp);/*long ftell(FILE *stream);功能:返回文件位置指针当前位置相对于文件首的偏移字节数 */ rewind(fp);/*void rewind(FILE *stream);功能:将文件位置指针重新指向文件开头 */ buffer=(char*)malloc((1+fsize)*sizeof(char));/*extern void *malloc(unsigned int num_bytes);头文件:#include<stdlin.h>或者#include<malloc.h>功能:向系统申请分配一个长度为num_butes个字节的内存块 */ if(!buffer){perror("mallocc:");exit(0);}fr=fread(buffer,1,fsize,fp);/*size_t fread(void *buffer,size_t size,size_t count,FILE *stream);功能:从文件流中读数据,最多读count项,每个项size个字节返回:成功:返回实际读取到的项个数失败:返回0 size_t fwrite(const void*buffer,size_t size,size_t count,FILE *stream);功能:向指定的文件写数据,写count项,每项size个字节返回:成功:返回实际写入的数据块数目该函数以二进制形式对文件进行操作,不局限与文本文件 */ if(fr==0){perror("fread:");exit(0);}buffer[fsize]='\0';for(i=0;i<fsize;i++){if(buffer[i]==' '||buffer[i]=='.')word=0;else if(word==0){word=1;sum++;}}printf("该文件中共有%d个单词\n",sum);return 0;	
} 

欢迎留言交流

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/375996.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

oracle mul,汇编语言乘指令 MUL、IMUL的具体使用

MUL: 无符号乘;影响 OF、CF 标志位;指令格式:;MUL r/m ;参数是乘数;如果参数是 r8/m8, 将把 AL 做乘数, 结果放在 AX;如果参数是 r16/m16, 将把 AX 做乘数, 结果放在 EAX;如果参数是 r32/m32, 将把 EAX 做乘数, 结果放在 EDX:EAX当乘积的高半部分(AH、DX、EDX、RDX)中存有结…

java实验二

课程&#xff1a;Java程序设计 班级&#xff1a; 1352 姓名&#xff1a;黄卫   学号&#xff1a;20135221 成绩&#xff1a; 指导教师&#xff1a;娄嘉鹏 实验日期&#xff1a;2015.05.05 实验密级&#xff1a; 预…

两数之和c语言实现

题目描述&#xff1a;给定一个整数数组和一个目标值&#xff0c;找出数组中和为目标值的两个数。你可以假设每个输入只对应一种答案&#xff0c;且同样的元素不能被重复利用。示例:给定 nums [2, 7, 11, 15], target 9因为 nums[0] nums[1] 2 7 9 所以返回 [0, 1]解题思路…

【Linux】正确的关机方法

1&#xff09;shutdown命令 我们较常使用的是shutdown这个命令&#xff0c;这个命令可以安全地关闭或重启Linux系统&#xff0c;它在系统关闭之前给系统上的所有登录用户提示一条警告信息。该命令还允许用户指定一个时间参数&#xff0c;可以是一个精确的时间&#xff0c;也可以…

oracle 存储过程写文件,Oracle写本地文件

Oracle写本地文件是指写到运行Oracle的主机上&#xff0c;而不是运行该脚本的机器上。说起来有点拗口&#xff0c;实际上就是无论在哪里执行这个过程&#xff0c;生成的文件始终都是在服务器上的。下面过程实现了这个功能&#xff1a;logdir是指文件存放路径。有Oracle的direct…

两数相加c语言实现

给定两个非空链表来表示两个非负整数。位数按照逆序方式存储&#xff0c;它们的每个节点只存储单个数字。将两数相加返回一个新的链表。你可以假设除了数字 0 之外&#xff0c;这两个数字都不会以零开头。示例&#xff1a;输入&#xff1a;(2 -> 4 -> 3) (5 -> 6 -&g…

jQuery获取Select选择的Text和Value

一、 jQuery获取Select选择的Text和Value:语法解释&#xff1a; $("#select_id").change(function(){//code...}); //为Select添加事件&#xff0c;当选择其中一项时触发varcheckText$("#select_id").find("option:selected").tex…

jquery实现导航栏鼠标点击后实行背景高亮,点击离开恢复(超级简单!!!!)...

昨天才写了一个方法&#xff0c;今天发现一个更简单的。 html&#xff1a; <!DOCTYPE html> <html> <head lang"en"><meta charset"UTF-8"><title></title> </head> <body> <div class"dianji&qu…

Linux怎么处理binray文件,Linux下如何反汇编arm raw binary文件

有一个arm elf文件经过objcopy -O binary 命令处理生成bin文件进行反汇编:指令1&#xff1a;arm_v5t_le-objdump -b binary -m armv5te -D u-boot.bin|head指令2&#xff1a;arm-linux-objdump -D -b binary test.bin --architecturearm > /tmp/raw.txthttp://linux.chi…

putty连虚拟机中Linux出现Access Denied

环境&#xff1a;VMwarekali Linux出现这个问题&#xff0c;肯定是你想尝试直接通过使用root账户连接你的linux&#xff0c;这样肯定是不行的&#xff0c;why&#xff1f;为了保证服务器安全&#xff0c;几乎所有的服务器都禁止了超级用户直接登录系统&#xff0c;而是通过普通…

Floyd算法应用-医院选址问题

1)问题描述 n个村庄之间的交通图可以用有向网图来表示&#xff0c;图中边<vi, vj>上的权值表示从村庄i到村庄j的道路长度。现在要从这n个村庄中选择一个村庄新建一所医院&#xff0c;问这所医院应建在哪个村庄&#xff0c;才能使所有的村庄离医院都比较近&#xff1f; 2)…

linux ls 命令排序,如何在Linux中使用ls命令按大小对所有文件进行排序

ls命令是列出目录内容的最流行且非常有用的命令。 在本文中&#xff0c;我们将解释如何使用ls sort选项按大小列出目录内容。1)按大小列出目录中的文件(排序)要列出具有大小排序的特定目录的内容&#xff0c;我们将使用-lS选项和ls命令。 它将在顶部显示最大的文件。[linuxidcl…

C​#​获​取​当​前​时​间​的​各​种​格​式

C#获取当前时间的各种格式 DateTime.Now.ToShortTimeString() DateTime dt DateTime.Now; dt.ToString();//2005-11-5 13:21:25 dt.ToFileTime().ToString();//127756416859912816 dt.ToFileTimeUtc().ToString();//127756704859912816 dt.ToLocalTime().ToString(…

基于tcp connect的端口扫描程序

原理&#xff1a;connect()函数用于对于每一个感兴趣的目标计算机的端口进行连接&#xff0c;如果该端口处于侦听状态&#xff0c;那么connect()就会成功&#xff0c;即没有提供服务。如果对于每一个目标端口以串行的方式使用单独的connect()调用&#xff0c;需要较长的时间&am…

UIScrollView

一、UIScrollView 1.常见属性 property(nonatomic) CGPoint contentOffset; // 记录UIScrollView滚动的位置 property(nonatomic) CGSize contentSize; // 内容尺寸&#xff08;能滚动的范围&#xff09; property(nonatomic) UIEdgeInsets contentInset; // 额外增加的滚动区域…

linux如何运行多个硬盘,一个硬盘如何装两个Linux

1个硬盘已安装Fedora 8 Linux系统&#xff0c;并安装grub引导管理程序&#xff0c;现要在这个硬盘的空闲分区中安装Fedora 9&#xff0c;操作如下&#xff1a;1.将Fedora-9-i386-DVD.iso文件放到一个Windows Fat32分区((hd0,4))的根目录&#xff0c;将这个iso文件中的isolinux目…

APIO2015 酱油记

Day 0 昨天CTSC才比完&#xff0c;当然是要浪啦&#xff01; 于是浪了一天。。。午饭都没吃。。。 晚饭。。。貌似也没吃。。。 晚上的时候觉得这样子浪不太好&#xff0c;还是要认真一下&#xff0c;打开bzoj&#xff0c;弃疗了。。。还是浪吧。。。 Day 1 今天要讲课&#xf…

宏定义 #define 和常量 const 的区别

学习笔记&#xff01;参考链接 一、类型和安全检查不同宏定义是字符替换&#xff0c;没有数据类型的区别&#xff0c;同时这种替换没有类型安全检查&#xff0c;可能产生边际效应等错误&#xff1b;const常量是常量的声明&#xff0c;有类型区别&#xff0c;需要在编译阶段进行…

【ibus】设置ibus输入法(pinyin sunpinyin)

设置ibus-pinyin 在终端中运行 /usr/lib/ibus-pinyin/ibus-setup-pinyin命令可以调出ibus的完整设置对话框 设置ibus-sunpinyin 可以执行ibus-sunpinyin自带的python设置脚本ibus-setup-sunpinyin来全面设置它 : $ /usr/lib/ibus-sunpinyin/ibus-setup-sunpinyin 如果执行此脚…

linux 进程 释放内存,Linux 释放内存方法和原理

今天惊愕地发现&#xff0c;主节点上8G内存被不知道什么进程吃掉了整整6G有余&#xff0c;正常的计算快要维持不下去了&#xff0c;遂处理之。先看看内存使用状况[rootnode1 ~]# free -mtotal used free shared buffers cachedMem: 8004 6557 1446 0 163 5630-/ buffers/cache:…