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

湖南it网站建设mxtiawordpress图片自适应主题

湖南it网站建设mxtia,wordpress图片自适应主题,公司网站建设怎么弄,网站建设公司易下拉软件目录 一.gets和puts组合 二.fgets()和fputs() 三.fgets()函数返回 四.fgets读取满问题 五.修改fgets函数,自动用\0替换\n 一.gets和puts组合 Gets()读取整行输入#xff0c;知道遇到换行符#xff0c;然后丢弃换行符#xff0c;存储其余字符#xff0c;并在这些字符的… 目录 一.gets和puts组合 二.fgets()和fputs() 三.fgets()函数返回 四.fgets读取满问题 五.修改fgets函数,自动用\0替换\n 一.gets和puts组合 Gets()读取整行输入知道遇到换行符然后丢弃换行符存储其余字符并在这些字符的末尾添加一个空字符使其成为一个C字符串。去\n补\0 Puts()将地址的字符末尾添加一个换行符后进行打印。补\n 使用gets有个比较不好的地方就是它不会检测数组是否能装得下输入行。所以当输入字符串过长后会导致缓冲区溢出所以我们用其他办法进行替换 二.fgets()和fputs() fets()有三个参数第一个就是存储地址位置第二个就是读入字符的最大数量第三个指明读入的文件如果在屏幕输入用stdin fputs()有两个参数第二个参数指明了要写入数据的文件如果要打印到屏幕上用stdout fgets和gets不同之处在于fgets会读取换行符不会丢弃 fputs和puts不同之处在于fputs不会自动添加换行符 这里可以看到超出9个字符后其他字符都会丢弃fgets最后一个字符一定是空字符 三.fgets()函数返回 fgets()函数返回指向char的指针。如果一切进行顺利该函数返回的地址与传入的第一个参数相同。 但是如果函数读到文件结尾它将返回一个特殊的指针空指针NULL或0如果在读入数据时出现某些错误也返回空指针NULL或0 四.fgets读取满问题 如果fgets读到第二个参数的最大数字时还没遇到换行符之前它就会把数组最后一个设为\0。 还是用上面的例子。这里你乍一看可能觉得没问题但仔细看fgets第二个参数STLEN为10但问题是hello world\n有12个字符那它是如何完整把这个打印出来的呢。这里主要依靠while循环不断读取字符串到words数组中进行完整打印。第一次其实只能装下hello wor\0然后进行屏幕打印。但因为fgets还能从输入缓冲区读取字符串所以继续循环把ld\n读入数组words中。进行打印。下次打印因为输入缓冲区没有字符了停止循环。 我们把fputs换成puts你就能很清楚的看到了 系统使用缓冲的I/O这意味着用户在按下Return键之前输入都被存储在临时存储区缓冲区中。按下Return键就在输入中增加了一个换行符并把整行输入发送给fgets()对于输出fputs()把字符发送给另一个缓冲区当发送换行符时缓冲区中的内容被发送至屏幕上 五.修改fgets函数,自动用\0替换\n 使用fgets函数读取整行输入并用空字符代替换行符或者读取一部分输入并丢弃其余部分。 演示代码 #include stdio.h#define CHAR hello worldchar* s_gets(char* st, int n);int main(){char ch[10];s_gets(ch, 10);printf(ch字符串: );puts(ch);}char* s_gets(char* st, int n) {char* ret_val;int i 0;ret_val fgets(st, n, stdin);if (ret_val) {while (st[i] ! \n st[i] ! \0) i;if (st[i] \n) st[i] \0;elsewhile (getchar() ! \n) continue;}return ret_val;} 注意这里我们用puts但只打印了一个\n。这就说明我们输入的\n已经被替换成了\0 这里我们重点讲解下s_gets函数 char * s_gets(char * st,int n){     char * ret_val;     int i 0;     ret_val fgets(st,n,stdin);     if(ret_val){         while(st[i] ! \n st[i] ! \0) i;         if(st[i] \n) st[i] \0;         else             while(getchar() ! \n) continue;     }     return ret_val; }  ret_val fgets(st,n,stdin);ret_val主要用于返回输入状态。 while(st[i] ! \n st[i] ! \0) i;一直找到\n或\0才停止。 如果先找到\n将\n替换成\0。 如果先找到\0会自动将输入缓冲区的内容一直清除掉。这里清除掉主要靠  while(getchar() ! \n) continue;它会一直从输入缓冲区读入数据只要读入不是\n就会继续读入(continue)这里需要知道getchar()只是读值但并没有将这些值进行写入。就算最后读到\n就直接结束了。这时候输入缓冲区所有字符都被清空了 好了朋友们我们今天的内容到这就结束了今天的内容到这里就结束了如果有啥不会的朋友记得论坛里面提问哈~ 如果朋友你感觉文章的内容对你有帮助可以点赞关注文章和专栏以及关注我哈嘿嘿嘿我会定期更新文章的谢谢朋友你的支持哈
http://www.dnsts.com.cn/news/267967.html

相关文章:

  • 南安网站定制德阳城乡建设部网站首页
  • 学校网站资源库建设和资源上传什么是软文营销
  • 网站首页排版设计微信小程序入门开发
  • 5188站长平台做商城网站哪个好
  • 建站快车怎么样神马网站可以做兼职
  • 帝国cms入门到精通企业门户网站制作建站视频教程php做简单网站教程视频
  • 德州做网站公司软件免费网站大全
  • 玉溪市住房和建设局公布网站源代码
  • 鞍山招聘网站怎样在微信公众号里做微网站
  • 网站建设公司薪酬百度怎么添加店铺地址
  • 暴雪战网官方网站入口百度广告 网站域名 已验证
  • 泉州制作网站软件wordpress调用指定文章
  • 电脑网站和手机网站的区别网站建设流程策划
  • 公司的网站做备案我是网站负责人如果离职以后要不要负法律责任网站后台策划书
  • 赣州网站建设资讯360做网站和推广怎么样
  • 能够做代理的网站小程序跳转wordpress
  • 网站的风格对比信息表wordpress游戏插件下载
  • 从零开始网站开发团购网站短信平台
  • 宿州网站建设价格有空间与域名 怎么做网站
  • 广州一起做网站网站备案后台
  • 上饶建设局网站网站建设佰首选金手指十三
  • 做网站最快多久郑州外贸网站建设公司价格
  • 邢台市的做网站制作公司免费咨询聊天
  • 怎么查网站建设是哪家公司餐饮美食网站模板源码
  • 网站怎么做才能上百度首页考研培训机构排名前十
  • 电商网站设计工作内容北京 网站 公司
  • 怎么做查询网站中山做网站的公司哪家好
  • flash源码网站搜索引擎优化的基本内容
  • 公司图片logoseo 推广怎么做
  • 网站使用arial字体下载wordpress4.7.3优化