加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

如何从fgets中检测空字符串

发布时间:2020-12-16 10:20:34 所属栏目:百科 来源:网络整理
导读:我试图将stdin的fgets输入检测为空(当我按下enter而不输入任何内容时).这是我的计划: int main(){ char input[1000]; printf("Enter :"); fgets(input,1000,stdin); input[strlen(input) - 1] = ''; if(input != ''){ printf("hi"); } return 0;} 我想
我试图将stdin的fgets输入检测为空(当我按下enter而不输入任何内容时).这是我的计划:

int main()
{
    char input[1000];
    printf("Enter :");
    fgets(input,1000,stdin);
    input[strlen(input) - 1] = '';

    if(input != ''){
        printf("hi");
    }

    return 0;

}

我想做某种条件,使它不打印任何东西,但显然这种方式是不对的.我也试过NULL,这没用.

谢谢!

解决方法

我认为这是最可读的(但不是高性能):

if (strlen(input) != 0) {
    printf("hi");
}

但是为了教学,这里是你的风格,但后来修复:

if (input[0] != '') {
    printf("hi");
}

为什么输入[0]?因为输入就像一个指向数组第一个元素的指针,如果你比较它,你首先必须取消引用它以使比较有用.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读