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

c语言字符串非空校验

发布时间: 2022-07-22 18:56:14

1. c语言如何判断非空字符串

有两种情况;
1、C语言标准字符串以'\0'结束,空字符串首字符为'\0';
2、比较极端的情况是传过来的是字符串指针值就是NULL,也需要加以判断。

2. c语言如何定义一个函数判断一个字符串是否含有空白字符

这样定义:
int haveaspace(char *s)
{
int i;
for(i=0;s[i];i++)
if(isspace(s[i]))
return 1;
return 0;
}
这是一个使用这个函数的一个例子:
#include <stdio.h>
#include <ctype.h>
int haveaspace(char *s)
{
int i;
for(i=0;s[i];i++)
if(isspace(s[i]))
return 1;
return 0;
}
int main()
{
char s1[]="aaa1A+";
char s2[]="aaa1 1A+";
if(haveaspace(s1))
printf("%s包含空白字符\n",s1);
else
printf("%s不包含空白字符\n",s1);
if(haveaspace(s2))
printf("%s包含空白字符\n",s2);
else
printf("%s不包含空白字符\n",s2);
return 0;
}

3. c语言怎么判断输入的字符串是空格

#include<stdio.h>
#include<string.h>
struct info
{
char name[20];
char tel[20];
} person[4]; //一般定义结构体最好放到main函数的外面,这样结构清晰
int main()//最好把void换为int,不过你那样也对,这只是我的习惯
{

int i,j;
char findname[20];
char empty[20]=" ";
char a[20]="break";//我其实没理解你这是干什么的,反正应该不是你的问题
printf("please input a list\n");
for(i=0; i<4; i++)
scanf("%s %s",person[i].name,person[i].tel);//去掉&,字符串不需要,这里你最好再看一下字符串,
while(strcmp(findname,a)!=0)
{
printf("\nPlease input a name\n");
gets(findname);//scanf 会自动跳过空格,所以换成gets
for(i=0; i<4; i++)
{
if(strcmp(findname,person[i].name)==0)
{
printf("%s\n",person[i].tel);
break;
}
if(strcmp(findname,empty)==0)
{
for(j=0; j<4; j++)
printf("%s %s\n",person[j].name,person[j].tel);
break;
}
}

}
return 0;
}

4. 如何判断一个字符串指针是否为空(C语言)

#include<stdio.h>
#include<stdlib.h>
void main()
{
char *str = (char*)malloc(sizeof(char)*10); //分配地址空间
gets(str); //输入
if(str[0]!='') //由于字符串以''结尾,故可以这样来判断
{
printf("非空! ");
}
else
printf("空 ");
}

望采纳...

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

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

6. 如何用C语言编程实现,判断从外部文件读入的一个字符串为空

用fgets把内容读到ch[11]来,然后通过strlen判断ch中的长度是否大于0就行了

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

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

8. 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 *)来获得字符数组中元素个数。

9. 问个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()来判断是否为空