Cスタイル文字列 パート1
CoddyのC++ジャーニー「基礎」セクションの一部 — レッスン 67/74。
Cスタイルの文字列は、stringの代わりにchar型を使用して作成されます。これらは、ヌル文字('\0')と呼ばれる特殊な文字で終わります。
この文字は文字列の終端を表します。C言語スタイルの文字列は、しばしば「ヌル終端文字列」と呼ばれます。
例えば、シンプルな宣言は次のようになります:
char str1[] = "Hello";str1 は、特定のサイズを指定せずに宣言されています。コンパイラは、初期化子(ヌル文字を含む)に基づいて自動的にサイズを決定します。
文字で明示的に初期化する例:
char str2[6] = {'W', 'o', 'r', 'l', 'd', '\0'};str2 はサイズ6で宣言され、末尾のヌル文字を含めて文字で明示的に初期化されています。
一部のみ初期化された例:
char str3[10] = "Coddy";str3 はサイズ10で宣言されていますが、最初の6文字のみが初期化されています。配列の残りの部分はヌル文字で埋められます。
C言語スタイルの文字列を使用するには、次をインクルードする必要があります:
#include <cstring>インクルードの後、strlen関数を使用してCスタイルの文字列の長さを取得できます:
std::cout << strlen(str1); // 出力: 5チャレンジ
簡単C言語形式の文字列を引数として受け取り、以下の処理を行う printStringInfo という名前の関数を作成してください:
String:に続けて、元の文字列を表示する。Length:に続けて、strlen(str)の結果を表示する。Character at index 4:に続けて、その位置にある文字を表示する。Modified string:に続けて、最初の文字をXに変更した後の文字列を表示する。
チートシート
Cスタイルの文字列は、char型で作成され、ヌル文字'\0'で終わります。これらはヌル終端文字列です。
特定のサイズを指定しない宣言(コンパイラがサイズを決定します):
char str1[] = "Hello";文字による明示的な初期化:
char str2[6] = {'W', 'o', 'r', 'l', 'd', '\0'};部分的な初期化(残りはヌル文字で埋められます):
char str3[10] = "Coddy";Cスタイルの文字列関数を使用するには、以下をインクルードします:
#include <cstring>strlen()を使用して文字列の長さを取得します:
std::cout << strlen(str1); // 出力: 5自分で試してみよう
#include <iostream>
#include <cstring>
void printStringInfo(char str[]) {
// 文字列を出力する
// 文字列の長さを出力する
// インデックス4の文字を出力する
// 最初の文字を 'X' に変更する
// 変更された文字列を出力する
}
int main() {
char message[] = "Hello, World!";
printStringInfo(message);
return 0;
}このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。