c中fgets与strlen
fgets函数从文件读取'\n'并存储,在'\n'后再增加一个'\0'构成字符串。
但fgets函数需要指定读入的字符数,如果指定了n,则最多只能读取n-1个。fgets在读取了n-1个字符、读到了'\n'或遇到了EOF三种情况之一时都结束读取。
验证代码如下:
#include <stdio.h>
#include <string.h>
#define MAXLENGTH 101
int main(){
char str[MAXLENGTH];
fgets(str, MAXLENGTH, stdin);
int length = strlen(str);
int str_length = strlen(str);
int num = 0;
printf("%d\n",str_length);
printf("%s",str);
for (int i=0; i<= length; i++){
if (str[i] ==' '){
num++;
str_length--;
printf("num=%d\n",num);
}
if (str[i] == '\0'){
printf("0000,i=%d\n",i);
}
if (str[i] == '\n'){
printf("nnnn,i=%d\n",i);
}
}
num++;
printf("num = %d \n",num);
//printf("%2f",(float)(str_length)/num);
return 0;
}
结果:

c中fgets与strlen的更多相关文章
- C文件操作的语言fgets()
谈fgets(..)功能. 原型 char * fgets(char * s, int n,FILE *stream); 參数: s: 字符型指针.指向存 ...
- C语言文件操作之fgets()
来说一说fgets(..)函数. 原型 char * fgets(char * s, int n,FILE *stream); 參数: s: 字符型指针, ...
- fputs与fgets
1. fputs 函数名: fputs 功 能: 送一个字符到一个流中 用 法: int fputs(char *string, FILE *stream); 说明: fputs是一 ...
- php 文件上传类,功能相当齐全,留作开发中备用吧。
收藏一个经典好用的php 文件上传类,功能相当齐全,留作开发中备用吧. 好东西,大家都喜欢,才是真的好,哈哈!!! <?php /** * 文件上传类 */ class upload ...
- sizeof, strlen区别
strlen与sizeof的区别 .sizeof操作符的结果类型是size_t,它在头文件中typedef为unsigned int类型. 该类型保证能容纳实现所建立的最大对象的字节大小. .size ...
- TCPL 札记
1.函数原型符合设计要求,函数定义符合认知规律,做到见名知义,最少词汇量包含最大的信息量. 2.合理运用空行提高代码的可读性.从框架上来说有: 变量定义 初始化变量 处理 输出 返回值 3.采用伪码的 ...
- C语言经典例题100
C语言经典例题100 来源 http://www.fishc.com 适合初学者 ----------------------------------------------------------- ...
- 黑马程序员——经典C语言程序设计100例
1.数字排列 2.奖金分配问题 3.已知条件求解整数 4.输入日期判断第几天 5.输入整数进行排序 6.用*号显示字母C的图案 7.显示特殊图案 8.打印九九口诀 9.输出国际象棋棋盘 10.打印楼梯 ...
- C语言经典程序190例
[程序1] 题目:809*??=800*??+9*??+1 其中??代表的两位数,8*??的结果为两位数,9*??的结果为3位数.求??代表的两位数,及809*??后的结果. 1.程序分析: 2.程序 ...
随机推荐
- PowerDesigner设置code和name不联动的方法
按照如下设置即可: 具体步骤:菜单:Tools--General Options--Name to Code mirroring的复选框不要选中.
- python封装和解构
封装 将多个值使用逗号分割,组合在一起 本质上,返回一个元组,只是省略了小括号 python的特有的语法,被很多语言学习借鉴 t1 = (1,2) #定义元组 t2 = 1,2 #将1和2封装成元组 ...
- Spring Cloud(6.1):搭建OAuth2 Authorization Server
配置web.xml 添加spring-cloud-starter-security和spring-security-oauth2-autoconfigure两个依赖. </dependency& ...
- 基于文件系统(及MySQL)使用Java实现MapReduce
实现这个代码的原因是: 我会MapReduce,但是之前都是在AWS EMR上,自己搭过伪分布式的,但是感觉运维起来比较困难: 我就MySQL会一点(本来想用mongoDB的但是不太会啊) 数据量不是 ...
- leetcode mysql
给定一个 salary 表,如下所示,有 m = 男性 和 f = 女性 的值.交换所有的 f 和 m 值(例如,将所有 f 值更改为 m,反之亦然).要求只使用一个更新(Update)语句,并且没有 ...
- XSS 攻击的预防
XSS 攻击有两大要素: 1.攻击者提交恶意代码. 2.浏览器执行恶意代码. 针对第一个要素:我们是否能够在用户输入的过程,过滤掉用户输入的恶意代码呢? 输入过滤 在用户提交时,由前端过滤输入,然后提 ...
- pytest.mark.parametrize()参数化应用二,读取json文件
class TestEnorll(): def get_data(self): """ 读取json文件 :return: """ data ...
- CentOS7 卸载mysql(YUM源方式)
防止重装 yum方式 查看yum是否安装过mysql yum list installed mysql* 如或显示了列表,说明系统中有MySQL yum卸载 根据列表上的名字 yum remove ...
- 【leetcode算法-简单】20. 有效的括号
[题目描述] 给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效. 有效字符串需满足: 左括号必须用相同类型的右括号闭合.左括号必须以正确的顺序闭合.注意空字 ...
- java源码--HashMap
一.HashMap简介 1.1.HashMap概述 HashMap是基于哈希表的Map接口实现的,它存储的是内容是键值对<key,value>映射.此类不保证映射的顺序,假定哈希函数将元素 ...