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;
}
结果:
最新文章
- 中国CIO最关心的八大问题(下)
- 关于python数据序列化的那些坑
- 201453408刘昊阳 《Java程序设计》第5周学习总结
- 获取乌云补天指定关键字的漏洞并输出URL和标题
- 让Dreamweaver支持less
- 递归,动态规划,找最短路径,Help Jimmy
- N个元素组成二叉树的种类
- Android Studio安装及主题字体配置
- 【JS】Intermediate3:AJAX
- ios开发学习笔记(1)
- FJUT第四周寒假作业之第一集,临时特工?(深度优先搜索)
- Cocoa中层(layer)坐标系的极简理解
- Spring boot整合Mybatis
- 寒假作业 pta编程总结3
- python基础①
- map reduce 用法 str处理lower() capitalize()
- blktrace 深度了解linux系统的IO运作
- Hibernate初学
- Sum Problem
- 0 1 1 2 3 5 8 13 21 34 求第N个, 用js实现