echho 发布的文章

[label]前言[/label][alert] 混合使用 getchar() 和 scanf() 时,如果在调用 getchar() 之前,scanf() 在输入行留下一个换行符,会导致一些问题

编写程序时,要认真设计用户界面。事先预料一些用户可能会犯的错误,然后设计程序妥善处理这些错误情况[/alert]

#include <stdio.h>

char get_choice(void);       //菜单选择,获取获取用户输入
char get_first(void);        //处理换行符等,使其返回下一个非空白字符而不仅仅是下一个字符
int get_int(void);           //处理混合字符和数值输入
void count(void);

int main(void)
{
    int choice;
    void count(void);

    while ( (choice = get_choice()) != 'q')
    {
        switch (choice)
        {
            case 'a' : printf("Buy low, sell high.\n");
            break;
            case 'b' : putchar('\a'); /* ANSI */
            break;
            case 'c' : count();
            break;
            default : printf("Program error!\n");
            break;
        }
    }
    printf("Bye.\n");

    return 0;
}

void count(void)
{
    int n,i;

    printf("Count how far? Enter an integer:\n");
    n = get_int();
    for (i = 1; i <= n; i++)
    printf("%d\n", i);
    while ( getchar() != '\n')
    continue;
}

char get_choice(void)
{
    int ch;

    printf("Enter the letter of your choice:\n");
    printf("a. advice b. bell\n");
    printf("c. count q. quit\n");
    ch = get_first();
    while ( (ch < 'a' || ch > 'c') && ch != 'q')
    {
        printf("Please respond with a, b, c, or q.\n");
        ch = get_first();
    }

    return ch;
}

char get_first(void)
{
    int ch;

    ch = getchar();
    while (getchar() != '\n')
    continue;

    return ch;
}

int get_int(void)
{
    int input;
    char ch;

    while (scanf("%d", &input) != 1)
    {
        while ((ch = getchar()) != '\n')
        putchar(ch);                                //处理错误输出
        printf(" is not an integer.\nPlease enter an ");
        printf("integer value, such as 25, -178, or 3: ");
    }

    return input;
}

--> [label]前言[/label][alert] 混合使用 getchar() 和 scanf() 时,如果在调用 getchar() 之前,scanf() 在输入行留下一个换行符,会导致一些问题编写程序时,要认真设计用户界面。事先预料一些用户可能会犯的错误,然后设计程序妥善处理这些错误情况[/alert]#include <stdio.h>char get_choic...

升级WordPress插件之后,页面一直显示“正在执行例行维护,请一分钟后回来”(Briefly unavailable for scheduled maintenance. Check back in a minute)”。

如果升级顺利,也就几秒左右就恢复正常;但是如果由于网速不佳等原因导致升级中断,WordPress就会一直停留在维护模式,不论前台还是后台,都一直显示“正在执行例行维护,请一分钟后回来“。

 

解决方法

       1. 打开宝塔后台,打开出问题的网站根目录,搜索.maintenance文件(包含子目录!!!),找到后删除即可

      2.根目录无.maintenance情况 

         直接新建一个空的txt文本,然后重命名为.maintenance,重新刷新你的网站即可,一般网站也可恢复。

      3.修改class-wp-filesystem-direct.php文件

打开 /wp-admin/includes/class-wp-filesystem-direct.php文件

找到下面代码

//大概第18行

functionmkdir($path,$chmod=false,$chown=false,$chgrp=false){

// safe mode fails with a trailing slash under certain PHP versions.

$path= untrailingslashit($path);

if(empty($path))

returnfalse;

if(!$chmod)

$chmod= FS_CHMOD_DIR;

if(!@mkdir($path))

returnfalse;

$this->chmod($path,$chmod);

if($chown)

$this->chown($path,$chown);

if($chgrp)

$this->chgrp($path,$chgrp);

returntrue;

}

//将其改为:

//大概第19行

functionmkdir($path,$chmod=false,$chown=false,$chgrp=false){

// safe mode fails with a trailing slash under certain PHP versions.

if(!$chmod)

$chmod=$this->permission;

if(ini_get('safe_mode')&&substr($path,-1)=='/')

{

$path=substr($path,0,-1);

}

if(!@mkdir($path))

returnfalse;

$this->chmod($path,$chmod);

if($chown)

$this->chown($path,$chown);

if($chgrp)

$this->chgrp($path,$chgrp);

returntrue;

}

参考资料——解决WordPress“正在执行例行维护,请一分钟后回来”错误 - 知乎 (zhihu.com)

--> 升级WordPress插件之后,页面一直显示“正在执行例行维护,请一分钟后回来”(Briefly unavailable for scheduled maintenance. Check back in a minute)”。如果升级顺利,也就几秒左右就恢复正常;但是如果由于网速不佳等原因导致升级中断,WordPress就会一直停留在维护模式,不论前台还是后台,都一直显示“正在执行例行维护,...

今天终于看完了B站韩顺平的Linux基础教程,以下为自己整理的笔记和资料

B站教程

【小白入门 通俗易懂】2021韩顺平 一周学会Linux_哔哩哔哩_bilibili

B站韩顺平资料(如若侵权必删)

百度网盘链接:https://pan.baidu.com/s/1nn__7Bx0rOcIopCUe34oVg
提取码:1111

个人笔记

百度网盘链接:https://pan.baidu.com/s/1sp8Cdvv3oT_lNSA4JRuxeQ
提取码:1111

--> 今天终于看完了B站韩顺平的Linux基础教程,以下为自己整理的笔记和资料B站教程【小白入门 通俗易懂】2021韩顺平 一周学会Linux_哔哩哔哩_bilibiliB站韩顺平资料(如若侵权必删)百度网盘链接:https://pan.baidu.com/s/1nn__7Bx0rOcIopCUe34oVg提取码:1111个人笔记百度网盘链接:https://pan.baidu.com/s/1sp...

2022 大一结束后,迎来两个月的暑假,终于有点精力来搭建网站,却因为各种事拖到现在。今天,我的第一个网站总算搭建成功(成功安装能看的过去的主题)。虽然各种功能并不是很多,但已经满足了基本需求。毕竟是借用别人的主题,还是很满意的。等到什么时候有时间学习前端知识,再来亲自DIY网站。

2022/12大二寒假,博客已经美化完成,后续估计不会有大的变动了,下面就是搬迁新的服务器了,毕竟一年几百的续费,我还是承担不起的。等到大三再想办法弄一个主机搭载博客吧。后续的目标应该是单片机和前端的学习了。虽然一直都很犹豫学不学前端,现在觉得学学还是挺好的,可以美化博客,也可以搭建小程序。

2023/3 博客迁移成功,除了说说评论没了,邮件通知失败,其他都基本没问题。邮件通知通过插件实现了,还行吧。

2023/7 对博客进行二次优化,完善字体存储以及博客其他功能。

  • 字体托管于 GitHub ,并使用 jsDelivr 进行CDN加速,在此感谢二者!
  • 添加鼠标、评论输入特效
  • 左侧栏头像放大、点击跳转链接
  • 添加打赏展示页面,对给与打赏的好友进行展示
  • 公告栏更名
  • 左侧栏颜色调整
  • 数据统计移至功能栏
  • 顶栏标题、Banner 副标题 改为彩色

2023/8 七牛云存储字体

--> 2022 大一结束后,迎来两个月的暑假,终于有点精力来搭建网站,却因为各种事拖到现在。今天,我的第一个网站总算搭建成功(成功安装能看的过去的主题)。虽然各种功能并不是很多,但已经满足了基本需求。毕竟是借用别人的主题,还是很满意的。等到什么时候有时间学习前端知识,再来亲自DIY网站。2022/12大二寒假,博客已经美化完成,后续估计不会有大的变动了,下面就是搬迁新的服务器了,毕竟一年几百的续...