当前位置:首页 » 编程语言 » c语言字符串是否为空
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言字符串是否为空

发布时间: 2023-08-10 04:34:43

㈠ 问个c语言中的判断字符串为空的方法

#include<stdio.h>

intmain(intargc,char*argv[])
{
charbuff[40]={0};
char*pStr="abc";

if(''==buff[0])
{
printf("string1isNULL ");
}

if(NULL==pStr)
{
printf("string2isNULL ");
}

return0;
}

补充:

'' == buff[0]只能判断buff作为字符串时是不是一个有效的字符串,但并不能判断buff作为字符数组时是否全是空的,否则需要用memcmp和char zero[0] = {0}来比是否一致才行。

对了。gcc是c编译器,g++是c++的编译器。如果是c++的话,c部分和前面的例子一样比较,多了一个string这个类型,这是一个类,它有一些方法可以帮你判断字符串是否为空,比如定义string str;通过str==""和str.empty()以及0==str.size()来判断是否为空

㈡ 用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语言怎么判断一个字符串是否为空

空格和字符串为空的概念本来就不一样,
如楼上所说空格本来就代表一个字符,
而空字符串直接为"\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语言空字符串的问题;

你那越界了。
在定义的时候,char str[100]; 是指定了数组大小100个字符。
但是如果写,char str[]="";就是是将数组的大小和值定义成和字符串常量“”相同,而这里“”是空字符串。str就一个字符大小,里面存放的是结束符号0,所以后面你输入字符串给str,里面存放了第一个字符,而其他字符都存到越界的地址中。
想要定义不定长的数组。
只要使用malloc函数申请就可以了。
定义指针char *str=(char *)malloc(sizeof(char)*n);这里n就是你要的字符长度。
记得在第一次使用时判断一下str是否为NULL(NULL说明异常,应该终止程序)。

㈤ 用C语言怎么判断一个字符串是否为空

空格不算是空字符串,str=""这样的才算是空字符串,里面什么都没有,而str=" "是有内容了,这个str存储了一个字符(空格),如果你要把空格也算是空字符串,那么要稍作修改:
char str[] = " ";
int len = strlen(str), i = 0;
if (len > 0)
{
while(i < len && str[i++] == ' ');
if (i < len) // 字符串不空
else // 空字符串
}

㈥ 用C语言怎么判断一个字符串是否为空

就是用strlen(变量)==0来判断一个字符串是否为空,空格也是一个字符,字符串结束的标识符是'\0'

㈦ c语言怎样判断一个字符串全为空格

你好!
不管是多少顷斗个空雀改磨歼型格的字符串,使用trim后,结果是空串。
你可以自己试验下,string st = “ ";st = st.trim();

㈧ C语言里如何判断空格

代码如下:

int main(void) {

char c;

printf("请输入要测试的字符 ");

scanf("%c",&c);

if(c == ' '){

printf("是空格 ");

}else{

printf("不是空格 ");

}

return 0;

}

C语言对字符判断是否为空格有两种方式:

  1. 代码:if(c=='')printf("c是空格");这种方法比较直观,直接比较当前字符和空格是不是相等,是的话就是空格了。代码演示如下:

㈨ C语言中,如何判断一个字符数组是空的

那要看你字符数组定义的时候有没有给初值。

比如char a[10];这元素值都是随机值,无法判断。
如果char a[10]={'a','b','c','d','e'};这样除了前5的元素后面都是0。可以用0来判断。
如果char a[10]="abcde";这样由于“abcde”是字符串常量,内存中实际还有最后一个0.所以a数组中第6位就是0。同样可以用0来判断。
所有有结束符号0的数组,都可以使用<shring.h>头文件下的函数int strlen(char *)来获得字符数组中元素个数。