如何从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]?因为输入就像一个指向数组第一个元素的指针,如果你比较它,你首先必须取消引用它以使比较有用. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |