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')可以
也许这是最佳做法哦。。。 展开
怎样判定读取的字符串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')可以
也许这是最佳做法哦。。。 展开
展开全部
楼主您好
如果要用应该是strlen(str)==0;
因为gets遇到回车符换行符就会用\0给字符串结尾
所以
使用
if(a[0]=='\0')
是效率最高的
如果要用应该是strlen(str)==0;
因为gets遇到回车符换行符就会用\0给字符串结尾
所以
使用
if(a[0]=='\0')
是效率最高的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
sscanf(str,"%s",strtmp)
如果这个函数返回 0 或 EOF 那就表示 用 fgets 得到的当前行( str ) 是空行
如果这个函数返回 0 或 EOF 那就表示 用 fgets 得到的当前行( str ) 是空行
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不同平台里面换行符可是不一样的。
最好是全字匹配。
最好是全字匹配。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询