C语言,怎样判定读取的字符串为只有换行符的空行? 10

fopen后,用fgets(str,MAX,rf)读取一行怎样判定读取的字符串str为只有换行符的空行?strlen(str)==1可不可以?最标准的语句是什么?====... fopen后,用fgets(str,MAX,rf)读取一行

怎样判定读取的字符串str为只有换行符的空行?
strlen(str)==1可不可以?
最标准的语句是什么?
=================
只考虑windows下VC++6.0 Console程序

我刚才试了一下
if(strlen(str)==1)可以达到目的
if(a[0]=='\0')
和if(strlen(str)==0)都达不到目的
因为我试过,空行的长度strlen是1而不是0
if(a[0]=='\0')貌似标准答案可惜程序不理睬啊

sscanf(str,"%s",strtmp)
好像没必要用这个函数吧?

------------------
刚才又试了一下
if (str[0]=='\n')可以
也许这是最佳做法哦。。。
展开
 我来答
eachdoor
2009-08-13 · TA获得超过817个赞
知道小有建树答主
回答量:310
采纳率:0%
帮助的人:283万
展开全部
楼主您好
如果要用应该是strlen(str)==0;
因为gets遇到回车符换行符就会用\0给字符串结尾
所以
使用
if(a[0]=='\0')
是效率最高的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友c4249ef
2009-08-13 · TA获得超过4867个赞
知道大有可为答主
回答量:1855
采纳率:0%
帮助的人:3219万
展开全部
sscanf(str,"%s",strtmp)

如果这个函数返回 0 或 EOF 那就表示 用 fgets 得到的当前行( str ) 是空行
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
踏岸寻柳
2009-08-13 · TA获得超过6912个赞
知道小有建树答主
回答量:1776
采纳率:0%
帮助的人:635万
展开全部
不同平台里面换行符可是不一样的。

最好是全字匹配。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式