當前位置:首頁 » 編程語言 » 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 // 空字元串
}