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

哪家公司建5g基站游戏类网站备案需要前置审批吗

哪家公司建5g基站,游戏类网站备案需要前置审批吗,网站怎么连接微信支付,美叶设计网站目录 一.gets和puts组合 二.fgets()和fputs() 三.fgets()函数返回 四.fgets读取满问题 五.修改fgets函数,自动用\0替换\n 一.gets和puts组合 Gets()读取整行输入,知道遇到换行符,然后丢弃换行符,存储其余字符,并在这些字符的…

目录

一.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 world"char* 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.yayakq.cn/news/545197/

相关文章:

  • 德州做网站哪家好南安seo快速排名
  • 宿迁华夏建设集团网站百度免费推广
  • 温州高端网站建设国外网建站
  • 长沙英文网站建设公司昆明网站建设推广
  • 专门做外国的网站网站备案成功后该怎么做
  • 设计理论网站wordpress 工业主题
  • 重庆做网站 外包公司网站是一个链接的页面结合吗
  • 品牌网站建设4小蝌蚪网站建设需求登记表
  • 农业行业网站建设免费1级做爰片在线观看网站
  • 美团这个网站多少钱做的八字排盘网站建设
  • 重庆网站建设推荐网站设计网站类型
  • 今天新闻最新消息seo人员招聘
  • 站长之家seo概况查询wordpress 视频付费插件
  • 佛山建设局网站文案写作软件app
  • 北京建设官方网站codecanyon – wordpress脚本插件完整打包
  • 网站开发 演讲邯山专业做网站
  • 为朋友做的网站淘宝怎么做引流和推广
  • wap网站开发工具wordpress 模仿APP插件
  • 176网站入口注册公司流程和费用2020
  • 建设厅网站平顶山域名抢注哪个平台好
  • 各地城乡建设网站更新dedecms 广告管理 js 网站变慢
  • 网站架构设计师求职信WordPress注册无需发送邮件
  • 佛山市官网网站建设企业八年级信息网站怎么做
  • 重庆网站建设培训个人网站设计及实现论文
  • 天水企业网站建设毕业设计代做网站唯一
  • 建设行业网站大概需要都少钱浙江省住房和城乡建设局网站首页
  • 成功网站案例分析深圳黑马程序员培训机构官网
  • .net wap网站模板购物网站静态页面
  • 网页游戏平台网站企业展示型网站建设方案
  • 值得买 wordpressseo网站推广电话