如何检查C中的String是否为空
发布时间:2020-12-16 10:53:39 所属栏目:百科 来源:网络整理
导读:我有一个void函数,它从全局变量中获取字符串并打印它们. 问题是即使字符串是empy,void函数也会打印一条消息/做东西. 因此,如果全局变量为empt,则只打
我有一个void函数,它从全局变量中获取字符串并打印它们.
问题是即使字符串是empy,void函数也会打印一条消息/做东西. 我想要做的是检查字符串是否为空,然后打印一条消息. // global variable char msg[30]; scanf("%s",&msg); void timer(void) { //i want to only print if there is a message printf("message: %s",msg); } 谢谢你的帮助 解决方法
简单的方法是这样的:
if (msg[0]) printf("message: %s",msg); 如果在某个日期,msg是一个指针,你首先要确保它不是一个NULL指针. if (msg && msg[0]) printf("message: %s",msg); 一个测试程序来演示: #include <stdio.h> #include <stdlib.h> char *msg; void test() { if (msg && msg[0]) printf("string is %sn",msg); } int main() { msg = NULL; test(); msg = calloc(10,1); test(); msg[0] = 'm'; msg[1] = 'e'; test(); free(msg); } 在我的机器上输出是:
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |