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

c语言中如果字符串为空

发布时间: 2023-03-05 00:48:04

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

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