string h和string的區別

2021-08-28 16:00:19 字數 693 閱讀 4499

一般乙個c++的老的帶「.h」副檔名的庫檔案,比如iostream.h,在新標準後的標準庫中都有乙個不帶「.h」副檔名的相對應,區別除了後者的好多改進之外,還有一點就是後者的東東都塞進了「std」名字空間中。

但唯獨string特別。

問題在於c++要相容c的標準庫,而c的標準庫里碰巧也已經有乙個名字叫做「string.h」的標頭檔案,包含一些常用的c字串處理函式。

這個標頭檔案跟c++的string類半點關係也沒有,所以 並非 的「公升級版本」,他們是毫無關係的兩個標頭檔案。

使用字串的函式的時候需要新增此標頭檔案。

比如如下常用函式:

strlen求字串長度

strcmp比較2個字串是否一樣

strcat字串連線操作

strcpy字串拷貝操作

strncat字串連線操作(前n個字元)

strncpy字串拷貝操作(前n個字元)

strchr 查詢子串

strstr 查詢字串

c++中,string標頭檔案基本上已經包含在iostream中了。

但是,平時使用的時候建議加上#include(尤其在以下情況下)

1、使用string型別

2、使用cin、cout語句來輸入輸出string型別變數(注意,同時還需要#include)

3、使用memset()、strlen()、strcpy()等函式時。

string和string h的區別

一般來說,h字尾都是c的標頭檔案,與其相對應的不加.h的都是c 的標頭檔案,比如 include 和 include 前者是c的標頭檔案,後者是c 的標頭檔案,也就是c 沒有.h的副檔名,一般後者都是前者的公升級版本。在c 標準化的過程中,為了表示標頭檔案 於c,有時也在前面加上c,比如cmath就...

字元陣列 string h和string

char str 10 char str 10 kangjiasal 報錯,應該還有個結束字元 0 char str 11 kangjiasal 輸出 for int i 0 i 10 i printf s str 1.2.1 scanf輸入,printf輸出 scanf輸入,printf輸出 c用...

string與string h 的作用和區別《轉》

c 中 string與string.h 的作用和區別 include void main 不能正確執行,提示說是string型別沒有定義 而下面 include using namespace std void main 這裡的string編譯器就認識了,但是strcmp就不認識了呢?一般乙個c 的...