c 字串長度函式,求字串長度函式 C

時間 2021-12-19 14:31:21

1樓:司馬刀劍

string str="welcome to chaina!";

int m1=str.size();//求字串長度或者下面的

int m2=str.length(); //同上面size功能一樣,都是求字串長度的

2樓:賈林龐喬

sizeof()得到的是資料型別的長度,比如int、char、double型別的sizeof()得到的結果分別是4、1、8.要求字串長度可以用類函式size,即你程式裡的string型別的變數為i,則用i.size()來求i的長度。

3樓:秋梵白萱

#include// 引入字串庫函式

string str; 定義字串str

int len; 定義長度為len

len=str.length; 獲取長度,賦值於len

cout<

4樓:

在標頭檔案裡的strlen和strnlen,如果是stl的字串的話⋯⋯兩說了就

5樓:du瓶邪

函式名: stpcpy

功 能: 拷貝一個字串到另一個

用 法: char *stpcpy(char *destin, char *source);

程式例:

#include

#include

int main(void)

函式名: strcat

功 能: 字串拼接函式

用 法: char *strcat(char *destin, char *source);

程式例:

#include

#include

int main(void)

函式名: strchr

功 能: 在一個串中查詢給定字元的第一個匹配之處/

用 法: char *strchr(char *str, char c);

程式例:

#include

#include

int main(void)

函式名: strcmp

功 能: 串比較

用 法: int strcmp(char *str1, char *str2);

看asic碼,str1>str2,返回值 > 0;兩串相等,返回0

程式例:

#include

#include

int main(void)

函式名: strncmpi

功 能: 將一個串中的一部分與另一個串比較, 不管大小寫

用 法: int strncmpi(char *str1, char *str2, unsigned maxlen);

程式例:

#include

#include

int main(void)

函式名: strcpy

功 能: 串拷貝

用 法: char *strcpy(char *str1, char *str2);

程式例:

#include

#include

int main(void)

函式名: strcspn

功 能: 在串中查詢第一個給定字符集內容的段

用 法: int strcspn(char *str1, char *str2);

程式例:

#include

#include

#include

int main(void)

函式名: strdup

功 能: 將串拷貝到新建的位置處

用 法: char *strdup(char *str);

程式例:

#include

#include

#include

int main(void)

函式名: stricmp

功 能: 以大小寫不敏感方式比較兩個串

用 法: int stricmp(char *str1, char *str2);

程式例:

#include

#include

int main(void)

函式名: strerror

功 能: 返回指向錯誤資訊字串的指標

用 法: char *strerror(int errnum);

程式例:

#include

#include

int main(void)

函式名: strcmpi

功 能: 將一個串與另一個比較, 不管大小寫

用 法: int strcmpi(char *str1, char *str2);

程式例:

#include

#include

int main(void)

6樓:

裡的strlen,裡的size

7樓:

難道不是strlen嗎?

8樓:匿名使用者

#include

int len = strlen(str)

c++程式設計:寫一函式,求一個字串的長度。在main函式中輸入字串,並輸出其長度。

9樓:匿名使用者

修改如下:

#include

using namespace std;

int main()

return n;

10樓:匿名使用者

#include

int length(char *p)

來//傳參這樣

return n;

}int main(void)

有幫助的話 給分 給最佳

11樓:匿名使用者

改兩個地方就可以bai了:

#include

int length(char *p)

return n;

}int main(void)

;int len;

scanf("%s",str);

len=length(str);

printf("%d\n",len);

}我在zhilinux下編譯沒有問題

,結果也是正dao確的

12樓:土賊12號

int size(char *p)

return n;

}這段**應該放在main的上面啊

求字串長度函式 c++

13樓:

string 是一個類 不是資料型別

string的實現在各庫中可能有所不同,但是在同一庫中相同一點是,無論你的string裡放多長的字串,它的sizeof()都是固定的,字串所佔的空間是從堆中動態分配的,與sizeof()無關。

有sizeof()為12、32位元組的庫實現。 但是vc6.0測試後sizeof(string)=16.還是跟編譯器有關。

首先看一下sizeof在msdn上的定義:

the sizeof keyword gives the amount of storage, in bytes, associated with a variable or a type (including aggregate types). this keyword returns a value of type size_t.

看到return這個字眼,是不是想到了函式?錯了,sizeof不是一個函式,你見過給一個函式傳引數,而不加括號的嗎?sizeof可以,所以sizeof不是函式。

網上有人說sizeof是一元操作符,但是我並不這麼認為,因為sizeof更像一個特殊的巨集,它是在編譯階段求值的。舉個例子:

cout<

cout<

在編譯階段已經被翻譯為:

cout<<4<

cout<<1<

這裡有個陷阱,看下面的程式:

int a = 0;

cout<

cout<

輸出為什麼是4,0而不是期望中的4,3???就在於sizeof在編譯階段處理的特性。由於sizeof不能被編譯成機器碼,所以sizeof作用範圍內,也就是()裡面的內容也不能被編譯,而是被替換成型別。

=操作符返回左運算元的型別,所以a=3相當於int,而**也被替換為:

int a = 0;

cout<<4<

cout<

所以,sizeof是不可能支援鏈式表示式的,這也是和一元操作符不一樣的地方。

結論:不要把sizeof當成函式,也不要看作一元操作符,把他當成一個特殊的編譯預處理。

14樓:檀木妍

sizeof()得到的是資料型別的長度,比如int、char、double型別的sizeof()得到的結果分別是4、1、8.要求字串長度可以用類函式size,即你程式裡的string型別的變數為i,則用i.size()來求i的長度。

15樓:

sizeof不是拿來求字串長度的 它是用來求大小的。

求string長度用 i.length();這個方法!這就是i的長度!

16樓:匿名使用者

strlen不是sizeof 窘了

確實應該是i.length();

17樓:匿名使用者

求字串長度應該是i.length();

輸入任意長度的字串,將該字串中的字元按ASCII碼值升序排列後輸出

你是說書上讓你補全 那麼,你把原來的題目,完整寫上來,添空處有幾行寫清楚!我讀了你的 修改如下 我測試了幾個,沒有發現問題。dim c s a as string 1 s變數顯然應該用字元型別 dim k as integer,j as integer 這個是我加的變數宣告 c text1 s le...

c 函式如何傳遞字串,C 函式如何傳遞字串

椴 substring 擷取子串 它有兩種形式,第一種是 string substring int startindex 第二種是 string substring int startindex,int endindex concat 連線兩個字串 replace 替換 它有兩種形式,第一種形式用一...

C語言中,sizeof能求字串長度嗎

sizeof計算物件的大小是轉換成物件型別的計算,也就是說,同種型別的不同物件其sizeof值都是一致的。所以sizeof str 相當於sizeof char 1另一個sizeof str 相當於sizeof char 對於這種指標型別,在32位計算機中,一個指標變數的返回值通常是4 注意結果是以...