當前位置:首頁 » 編程語言 » 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 *)來獲得字元數組中元素個數。