① 用c语言怎么判断一个字符串是否为空
空格和字符串为空的概念本来就不一样,
如楼上所说空格本来就代表一个字符,
而空字符串直接为"\0"
如果你要把空格的字符串也定义为空字符串的话
就要加判断
空格的ASCII码为32
你只需要再多加一个遍历判断就OK
int IsEmpty = 0;
int length = strlen(变量);
int n;
//遍历整个字符串,如果全为空格,则返回字符串也为空
for(n=0;n<length;n++)
{
//判断ASCII码是否为32
if(变量[n]==32)
IsEmpty=1;
else
{
IsEmpty=0;
//存在一个字符则跳出循环
break;
}
}
if(length == 0)
printf("字符串为空");
else if(IsEmpty)
printf("字符串为空");
else
printf("字符串不为空");
② C语言空字符是什么
C语言的空字符是在字符串结尾系统自动加上的‘ ’,以让系统识别出一个字符串的结尾。
如:
字符串“china”。在系统内是以“china ”储存的。
C语言中的字符中,除了字符串末尾之外,字符串里不能包含空字符,否则最先读入的空字符就会被误认为是字符串结尾,因此字符串就被无故截断了。
这种限制使得C语言原生字符串只能保持文本数据,而不能保持诸如图片、音频、视频等二进制数据。只管通过len来取数据就了,不用担心buf里面存放的是不是空字符。
(2)c语言中如果字符串为空扩展阅读
1、scanf() 会自动在字符串后面加上空字符。
2、scanf() 只读取了Victor它在遇到空格、制表符、换行符的时候会停止。所以 scanf() 只能读取一个单词。
③ 用C语言怎么判断一个字符串是否为空
就是用strlen(变量)==0来判断一个字符串是否为空,空格也是一个字符,字符串结束的标识符是'\0'
④ 用C语言怎么判断一个字符串是否为空
if (i < len) // 字符串不空 else // 空字符串 scanf ("%s", str); // 这里改下就行了! int len = strlen(str), i = 0; if (len > 0){while(i < len && str[i++] == ' '); if (i < len) // 字符串不空 else // 空字符串 #include <stdio.h> #include <string.h> void main(){char *str;scanf ("%s", str); int len = strlen(str), i = 0; if (len > 0){while(i < len && str[i++] == ' '); if (i < len) printf ("%s\n", str); else printf ("字符串为空\n");}else printf ("字符串为空\n"); } 追问: 不对啊,你试下编译一下?按空格不会判断的,有输进去字符时也有点小问题。总之,你这个程序编译时通过,但是没有能实现效果。要不你试下。我将你刚刚的程序段完善了一下,跟你这个差不多,但效果实现不了。所以,高手。点解呢? 回答: 现在手头没vc6,我想办法调试下,==啊。 补充: 对了,忘记了,用scanf是不读取空格的,scanf会将空格识别为结束号,要用gets(str); #include "stdio.h" #include "string.h" void main(){char str[100]; // 很久没用指针,直接上面那样有错,暂时先改数组了。 int len, i = 0; gets (str); len = strlen(str); if (len > 0){while(i < len && str[i++] == ' '); else printf ("字符串为空\n");}else printf ("字符串为空\n");
⑤ 如何用C语言编程实现,判断从外部文件读入的一个字符串为空
用fgets把内容读到ch[11]来,然后通过strlen判断ch中的长度是否大于0就行了
⑥ 问个C语言中的判断字符串为空的方法
#include<stdio.h>
intmain(intargc,char*argv[])
{
charbuff[40]={0};
char*pStr="abc";
if('