C经典 scanf 、gets 与fgets区别
2016-05-04 19:25
417 查看
#include <stdio.h> #include <string.h> int main(int argc, const char * argv[]) { /** char ch[10]; scanf("%s",&char); //不能接收空格,接收大于10的字符 gets(ch) ; //不安全,如果如果输入的是10个字符,没空间存储\0,接收大于10的字符,会越界 fgets(ch); //会自动截取,并把最后的一个变为\0 char *fgets(ch, len, stdin); */ char ch[10]; fgets(ch, sizeof(ch), stdin); printf("%s\n", ch); printf("%d\n", strlen(ch));//不包含\0 // if (ch[strlen(ch)-1] == '\n') { // ch[strlne(ch)-1] = '\0'; // } for (int i = 0; i < 10; i ++) { printf("%d\t", ch[i]); } printf("\n"); //不自动换行,puts可以自动换行 fputs(ch, stdout); printf("\n"); return 0; }
相关文章推荐
- 中级web前端面试题1
- Shipping label
- Log的五种信息
- HDU3414 Tour Route(竞赛图寻找哈密顿回路)
- Spring4 MVC入门教程
- Ajax下拉菜单联动
- LeetCode OJ 107. Binary Tree Level Order Traversal II
- aapt jarsigner
- kolla项目初步认知
- JavaScript -- apply的使用
- 【笔试面试】75道逻辑推理题及答案
- 抓包
- 怎样在CentOS 7.0上安装和配置VNC服务器
- C++ 简单的日志类
- 登陆后,地址栏中有sessionid
- 逐行提取txt文本中的字符串
- Spring事务的传播特性
- 数字图像处理不得不知的点(1)
- 《安卓笔记》AsyncTask机制
- java设计模式之代理模式