您好,登錄后才能下訂單哦!
今天就跟大家聊聊有關C++中C風格字符串的基本概念是什么,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。
C++編程語言作為一款C語言的升級版本,支持C語言中的各種功能,有經驗的編程人員可以很輕松的上手這款語言。今天我們就為大家介紹C++中C風格字符串的具體應用,讓大家體驗一下其中的C語言特點。
C++提供了兩種字符串的表示C風格的字符串和標準。 C++引入的string 類類型一般我們建議使用string 類。但實際上在許多程序的情形中我們有必要理解和使用老式的C++中C風格字符串。在第7 章我們會看到一個例子。它處理命令行選項而這些選項被作為C 風格的字符串數組傳遞給main()函數
C 風格的字符串起源于C 語言并在C++中繼續得到支持。實際上在標準C++之前除了第三方字符串庫類之外它是惟一一種被支持的字符串。字符串被存儲在一個字符數組中一般通過一個char*類型的指針來操縱它標準C 庫為操縱C++中C風格字符串提供了一組函數例如:
// 返回字符串的長度 int strlen( const char* ); // 比較兩個字符串是否相等 int strcmp( const char*, const char* ); // 把第二個字符串拷貝到***個字符串中 char* strcpy(char*, const char* );
標準C 庫作為標準的C++的一部分被包含在其中為使用這些函數我們必須包含相關的C 頭文件
#include <cstring>
指向C++中C風格字符串的字符指針總是指向一個相關聯的字符數組,即使當我們寫一個字符串常量時,如:
const char *st = "The expense of spirit\n";
系統在內部也把字符串常量存儲在一個字符串數組中,然后st 指向該數組的***個元素。那么我們怎樣以字符串的形式來操縱st 呢?一般地我們用指針的算術運算來遍歷C 風格的字符串,每次指針增加1 直到到達終止空字符為止例如:
while ( *st++ ) { ... }
char*類型的指針被解除引用并且測試指向的字符是true 還是false 。true 值是除了空字符外的任意字符(空字符在判斷語句中被莫認為是假),++是增加運算符它使指針對指向數組中的下一個字符。一般來說當我們使用一個指針時在解除指針的引用之前測試它是否指向某個對象是必要的,否則程序很可能會失敗例如:
int string_length( const char *st ) { int cnt = 0; if ( st ) while ( *st++ ) ++cnt; return cnt; }
看完上述內容,你們對C++中C風格字符串的基本概念是什么有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。