如何检查C中的String是否为空

如何检查C中的String是否为空,第1张

概述我有一个void函数,它从全局变量中获取字符串并打印它们. 问题是即使字符串是empy,void函数也会打印一条消息/做东西. 因此,如果全局变量为empt,则只打印“message is:” 我只想在字符串中包含字符时执行某些 *** 作. 我想要做的是检查字符串是否为空,然后打印一条消息. // global variablechar msg[30];scanf("%s", &msg);vo 我有一个voID函数,它从全局变量中获取字符串并打印它们.

问题是即使字符串是empy,voID函数也会打印一条消息/做东西.
因此,如果全局变量为empt,则只打印“message is:”
我只想在字符串中包含字符时执行某些 *** 作.

我想要做的是检查字符串是否为空,然后打印一条消息.

// global variablechar 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 %s\n",msg);}int main(){    msg = NulL;    test();    msg = calloc(10,1);    test();    msg[0] = 'm';    msg[1] = 'e';    test();    free(msg);}

在我的机器上输出是:

string is me

总结

以上是内存溢出为你收集整理的如何检查C中的String是否为空全部内容,希望文章能够帮你解决如何检查C中的String是否为空所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1223686.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-05
下一篇 2022-06-05

发表评论

登录后才能评论

评论列表(0条)

保存