社区
C语言
帖子详情
c中怎样判断字符串为空是最好的
yjdlut
2007-07-16 10:18:05
如上面的问题
假如字符串szWord要判断它是否为空
strcmp(szWord,"");好呢
还是szWord[0]==0;好呢
...全文
20458
36
打赏
收藏
c中怎样判断字符串为空是最好的
如上面的问题 假如字符串szWord要判断它是否为空 strcmp(szWord,"");好呢 还是szWord[0]==0;好呢
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
36 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
yzlovme
2011-03-03
打赏
举报
回复
用strlen函数直接抛出错误,目前还没找到好的解决办法
54gym
2008-03-31
打赏
举报
回复
你们只判断了第一个字符,还有空格情况。
yandongyue
2007-07-30
打赏
举报
回复
szWord[0]==0; 这个根本就是错的吧
wjlsmail
2007-07-30
打赏
举报
回复
ASSERT(_tcslen(str) == 0)
无病呻吟2
2007-07-30
打赏
举报
回复
char* ch2;
if ( ch2[0]==0)
cout<<"字符串位空"<<endl;
这样运行绝对是有问题的
ch2 不一样位0
会出现内存错误
vs2005测试
wengch
2007-07-26
打赏
举报
回复
to ribut9225(幽灵庄主)
以下这句
char szWord[100] = NULL;
如果编译通过了,我把你的C++编译器给吃了
====================================================
你要是能吃的了我把我家桌子吃了
superyys
2007-07-26
打赏
举报
回复
to ribut9225(幽灵庄主)
以下这句
char szWord[100] = NULL;
如果编译通过了,我把你的C++编译器给吃了
zkingjm
2007-07-26
打赏
举报
回复
在定义szWord的时候比较好的习惯是:
char szWord[100] = {0};
判断是否为空:
if( szWord[0] )
printf("不空");
else
printf("空");
zp_cool
2007-07-26
打赏
举报
回复
都对 汉堡包是人才 !
ForestDB
2007-07-26
打赏
举报
回复
if(!(*szWord))
cceczjxy
2007-07-23
打赏
举报
回复
要用szWord==NULL来判断,
szWord[0]==0 //这样应该是段溢出.
=======================================
段溢出?解释一下
-----------------------------------------
一个空指针,取第一个字符比较.应该是溢出.
不过这要看大家怎么理解"字符串为空"了.
可能我理解错了.
ccplus2007
2007-07-23
打赏
举报
回复
if (strlen(szWord)== 0)
prgmBaggio
2007-07-22
打赏
举报
回复
要用szWord==NULL来判断,
szWord[0]==0 //这样应该是段溢出.
=======================================
段溢出?解释一下
harry123
2007-07-22
打赏
举报
回复
我认为:
if( str == NULL || strlen(str) == 0 ) 是最保险的
JoeM
2007-07-21
打赏
举报
回复
?
对不起,少打一个字,更正一下。
比较有意思。
我觉的如果要判断C风格的字符串是否为空
(注意我这里说的是C风格的字符串,
即以'\0'结尾的char/wchar_t指针/数组)。
首先,要看字符串指针是否有效;
然后,要看你对字符串为空的定义,比如通常以'\0'作为字符串
的结尾,如果一个有字符串'\0' == pchar[0],那么就可以说该字符串
为空,C库中的strlen内部就是这么实现的;
最后,如果你对字符串为空的定义不是通常所理解的,你可以实现
自己的判断逻辑,比如,有字符串"\0hello world!",根据你的定义它
是为空还是不空呢?!!
星羽
2007-07-21
打赏
举报
回复
szWord[0]==0
szWord[0]=='\0'
JoeM
2007-07-21
打赏
举报
回复
比较有意思。
我觉的如果要判断C风格的字符串是否为空
(注意我这里说的是C风格的字符串,
即以'\0'结尾的char/wchar_t指针/数组)。
首先,要看字符串指针是否有效;
然后,要看你对字符串为空的定义,比如通常以'\0'作为字符串
的结尾,如果一个有字符串'\0' == pchar[0],那么就可以说该字符串
为空,C库中的strlen内部就是这么实现的;
最后,如果你对字符串为空的定义不是通常所理解的,你可以实现
自己的判断逻辑,比如,有字符串"\0hello world!",根据你的定义它
是为空还是空呢?!!
lexchou
2007-07-21
打赏
举报
回复
if(!str || !*str)puts("str是空");
if(str && *str)puts("str不是空");
mymtom
2007-07-21
打赏
举报
回复
szWord[0] == 0;
vsfan
2007-07-21
打赏
举报
回复
回复人:hmgujie(汉堡包) ( 一级(初级)) 信誉:100 2007-7-19 12:04:18 得分:0
?
szWord.enpty()
=================
这个就离谱了,大哥,是empty吧。。。
而且这个是java的风格,C/C++不是这样的风范
虽然可能的确可以这样写
加载更多回复(16)
判断
字符串
是否
为空
判断
字符串
是否
为空
,
判断
字符串
是否
为空
,
判断
字符串
是否
为空
判断
字符变量
为空
(包括空格)
c语言如何
判断
字符变量未输入 包括
判断
空格的输入
《C语言基础》 之 第9章
字符串
课程内容:字符数组1、
字符串
越位的问题、指针变量的空间大小、
字符串
常量、
字符串
传参、printf格式化输出
字符串
、
字符串
的非格式化输出函数、
字符串
输入函数、strlen函数、strcpy函数和strncpy函数、strcmp函数和strncmp函数、strcat函数和strncat函数。
串的基本操作堆存储表示:初始化串、复制串、
判断
串是否
为空
、比较两个
字符串
、计算
字符串
长度、清空串、连接串、找子串、模式匹配、替换子串、插入和删除子串
串的基本操作堆存储表示:初始化串、复制串、
判断
串是否
为空
、比较两个
字符串
、计算
字符串
长度、清空串、连接串、找子串、模式匹配、替换子串、插入和删除子串
封装一个,完善
字符串
,
字符串
的基本操作
定义一个串类CMyString,建立适当的构造函数 必须实现如下操作,
字符串
比较、求串的长度、
判断
串是否
为空
、将串置空、
字符串
赋值(包括两个
字符串
类复制,一个
字符串
赋值到CmyString对象)、求
字符串
中
的一个字符或改变
字符串
中
的一个字符(采用重载[]),完成串的赋值与合并(重载+)。
C语言
69,371
社区成员
243,082
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章