C ++は、文字列表現の2種類が用意されています Cスタイルの文字列 C ++導入の文字列クラスタイプ
Cスタイルの文字列は、C言語の起源、およびC ++でサポートされ続けています。文字列実際に使用ヌル文字「\ 0 」文字の1次元配列が終了しました。そのためにヌル文字列を含む文字列-末端。 次の文は、作成および初期化「こんにちは」の文字列を。店舗null文字の配列の終わり以来、言葉よりも文字の配列のサイズので、「こんにちは」以上の文字の数よりも。 チャー挨拶[ 6。 = {] ' H '、' E '、' L '、' L '、' O '、' \ 0 ' }。
ベースのアレイ初期化ルールは、上記の文に次の文を書くことができる: チャー挨拶[] = 「こんにちは」; C / C ++のメモリストリングはで定義された言いました:
実際には、あなたが必要としないヌル文字列定数の末尾に文字を。C ++コンパイラが自動的に、配列を初期化しますときに「\ 0 」文字列の最後に。 #include <iostreamの> 使用して名前空間STD; int型のmain() { char型挨拶[ 6。 = {] ' H '、' E '、' L '、' L '、' O '、' \ 0 ' }; COUT << 「メッセージの挨拶:」; 挨拶<< << ENDL; 戻り 0 ; } 上記のコードがコンパイルおよび実行されるとき、それは次の結果を生成する: 挨拶メッセージ:こんにちは
C ++関数に操作の多数で使用されるヌル末端を有するストリング 1つの。 strcpyの(S1、S2)と、 ストリングS2 S1に文字列をコピーします。 2 STRCAT(S1、S2)、 文字列の最後に接続ストリングS1、S2。 3 STRLEN(S1)、 S1の文字列の長さを返します。 図4 のstrcmp(S1、S2)、 S1、S2が同じである場合、戻り0 ; S1 <S2は、戻り値未満であれば0、S2、戻り値がより大きく、S1場合> 0 。 。5 strchr(S1、CH); CHの最初に出現する文字列s1の最初の文字の位置へのポインタを返します。 6 STRSTR(S1、S2)、 文字列の最初の出現のストリングS1、S2の位置へのポインタを返します。
書式#include <iostreamの> の#include <CStringの> 使用して名前空間はstdを、INT メイン() { チャー 0009 [ 11 ] = " こんにちは" 。 チャー STR2 [ 11 ] = " 世界" 。 チャー STR3 [ 11 ]。 int型 lenは、// 复制STR1到STR3 のstrcpy(STR3、STR1)。 裁判所未満 << " はstrcpy(STR3、STR1):" << STR3 << てendl; // 连接str1の和str2の strcatは(STR1、 裁判所未満 << " strcatは(STR1、STR2):" << STR1 << てendl; // 连接后、0009的总长度 LEN = STRLEN(0009)。 裁判所未満 << " strlenを(STR1):" << LEN << てendl; リターン 0 ; }
C ++は、クラスの文字列で の#include <iostreamの> の#include < 文字列 > 使用して名前空間; STD int型のmain() { 文字列 STR1 = " こんにちは" ; 文字列 STR2 = " 世界" ; 文字列STR3は、 int型 のlen; // STR3にコピーSTR1 = STR3 STR1; COUT << " STR3:" << STR3 << てendl; // 接続文字列1とstr2 STR3 STR1 + = str2の。 COUT << " STR1 + STR2:" << STR3 << ENDL; // 接続、STR3の全長 LEN = str3.size(); COUT << " str3.size(): " << lenの<< ENDL ; 戻り 0 ; } 上記のコードがコンパイルおよび実行されるとき、それは以下の結果生成: STR3を:こんにちは STR1 + STR2:のHelloWorld str3.size(): 10