当前位置: 首页 > news >正文

网站建设需求模板下载工商网上怎么申请注册公司

网站建设需求模板下载,工商网上怎么申请注册公司,网站的ftp在哪里可以查到,asp网站如何建设fgets的使用 文章目录 fgets的使用前言#xff08;吹水#xff0c;不看也罢#xff09;fgets 的基本语法使用示例fgets() 对输入的处理的特点gets() 与 fgets() 的主要区别 总结 前言#xff08;吹水#xff0c;不看也罢#xff09; 鼠鼠今天在B站上大学的时候#xff…fgets的使用 文章目录 fgets的使用前言吹水不看也罢fgets 的基本语法使用示例fgets() 对输入的处理的特点gets() 与 fgets() 的主要区别 总结 前言吹水不看也罢 鼠鼠今天在B站上大学的时候做到了一题倒序输出字符串的题本着能开摆就不学新内容的精神本鼠决定使用之前学过的gets() 函数作为输入但是在编译的时候遇到了这样一个警告之前好像是提示该函数被弃用升级VS版本后直接提示未定义见下图程序能跑但是这个错误激起了鼠鼠的好奇心。 经过查找本鼠发现gets() 函数在C99中被弃用在 C11 中被删除此时需要用 fgets() 代替 gets() 在好奇心的驱使下本鼠简单学习了一下 fgets() 的使用方法。 fgets 的基本语法 fgets 的基本语法为 char *fgets( char *string, int n, FILE *stream );参数 string – 指向字符串即 char 为元素的数组 n – 输入字符串的长度 stream – 数据来源一般为 stdin 即标准输入流键盘输入 返回值 成功时为 str失败时为 NULL 使用示例 以倒序输出字符串为示例注释中写到的注意事项会在下面讲解 //倒序输出字符串 #include stdio.h #include string.hvoid reverse(char arr[], int length);int main() {char arr[20] { 0 };//gets在C11被弃用//gets(arr);//注意fgets会把缓冲区中的\n也读取并放在字符串中而gtes()是将\n取出后丢弃//如果输入的长度恰好只剩一个位置的话\n不会被存入字符串//最后一个位置一定是留给\0的fgets(arr, 18, stdin);int length (int)strlen(arr);//strlen计算长度不包括\0reverse(arr, length);printf(%s, arr);return 0; }void reverse(char arr[], int length) {char* pointer arr (length - 2);//考虑到\n占的位置//当\n不被存入字符串时这里应该是-1int len length;while (pointer arr){char temp *arr;*arr *pointer;*pointer temp;arr;pointer--;} }fgets() 对输入的处理的特点 注意以下结果均为自行测试得到如有错误敬请指正 测试代码 #include stdio.hint main() {char arr1[5] { 0 };char arr2[5] { 0 };fgets(arr1, 5, stdin);fgets(arr2, 5, stdin);printf(arr1 %s\n, arr1);printf(arr2 %s, arr2);return 0; }#include stdio.hint main() {char arr1[5] { 0 };char arr2[5] { 0 };gets(arr1);gets(arr2);printf(arr1 %s\n, arr1);printf(arr2 %s\n, arr2);return 0; }在使用 fgets() 时当输入的字符串长度小于规定最大长度 - 1时函数会将 \n 放在字符串的最后并在 \n 后加上 \0 因此打印该字符串时不需要输入换行符 而当输入字符串长达大于规定最大长度 - 1时fgets() 会截取规定最大长度 - 1的字符并在最后加上 \0 其余字符串包括 \n则会被留在缓冲区这就导致了包括 \n 在内的字符会在下一次使用 fgets() 时被当作输入使得该次 fgets() 被“跳过” 即 fgets() 保证 \0 的存在 缓冲区可以看作输入设备和程序之间的一块区域输入设备将字符输入至缓冲区程序在需要时从缓冲区中取得字符 有时缓冲区中的数据会对程序造成干扰需要对缓冲区进行清理 //利用循环清理缓冲区int a 0;while ((a getchar()) ! \n){;} gets() 与 fgets() 的主要区别 gets() 在输入时并不会考虑 \0 在字符串中的存在因此当输入的字符串长度大于设定长度时会因为 \0 不存在而导致越界访问而 fgets() 一定会有 \0 的存在输入abcdefghijklmnopqrst为示例不会造成越界 即使输入的字符串长度超过设定长度gets()也不会影响下一次的输入但是会造成越界 fgets() 会将 \n 一并存入字符串而 gets() 会将 \n 丢弃 总结 相较于get() fgets() 的使用更加复杂但是更加安全不存在越界访问等问题同时因为其可以设定输入长度在某些特定情况下相较于gets()更加便利将 fgets() 与清理缓冲区的代码搭配使用会是一个不错的选择。
http://www.zqtcl.cn/news/682330/

相关文章:

  • 旅游网站建设合同成年做羞羞的视频网站
  • 海门网站建设制作道德建设 网站
  • 苏州 规划建设局网站网页设计师培训费用图
  • 怎么做视频解析的网站QQ空间可以建设网站吗
  • 视频网站 php源码甘肃 网站建设
  • 响应式网站和自适应便宜做网站8818
  • 湖南网站建设mxtia网站建设的流程图
  • 西安网站开发公司电话装修设计网站有哪些
  • 多少钱网站建设个人主页网页设计教程
  • 嘉兴品牌网站建设网站开发项目拖延周期
  • 网站版面布局结构网站建设公司公司
  • 给新公司建网站中国互联网企业排名前十名
  • 中国建设银行网站会员用户名网站建设应列入啥费用
  • 网站上面的水印怎么做的广东网站建设公
  • 爱站网关键词长尾挖掘工具wordpress文章外链
  • 做视频剪辑接私活的网站网站商城系统设计
  • thinkphp5做网站做网站需要准备资料
  • 门户网站平台建设方案建e室内设计网cad
  • 西安网站建设收费标准第五次全国经济普查
  • 成品网站货源1688免费襄阳公司网站建设
  • 2020国内十大小说网站排名365网站
  • 潍坊做网站的网络公司网页设计入门教材pdf
  • 影视公司网站建设wordpress 500ms
  • 旅游网站建设公司crm客户管理系统模板
  • 哪个网站有免费的模板阿里云上如何用iis做网站
  • 中山优化网站门户网站建设jz190
  • 湖州服装网站建设网站备案和域名备案区别
  • 网站开发好学嘛网络安全工程师年薪
  • 17网站一起做网店睡衣网线制作流程
  • 广告网站设计公司好吗网站页面设计主要包括