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>include の後に、strlen 関数を使って C スタイル文字列の長さを取得できます。
std::cout << strlen(str1); // 出力: 5チャレンジ
簡単printStringInfoという名前の関数を作成してください。この関数はC形式の文字列を入力として受け取り、次の処理を行います。
String:に続けて、元の文字列を出力します。Length:に続けて、strlen(str)の結果を出力します。Character at index 4:に続けて、その位置の文字を出力します。Modified string:に続けて、最初の文字をXに変更した後の文字列を出力します。
自分で試してみよう
#include <iostream>
#include <cstring>
void printStringInfo(char str[]) {
// 文字列を出力する
// 文字列の長さを出力する
// インデックス4の文字を出力する
// 最初の文字を'X'に変更する
// 変更後の文字列を出力する
}
int main() {
char message[] = "Hello, World!";
printStringInfo(message);
return 0;
}このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
基礎のすべてのレッスン
自分で練習してみよう: C++オンラインコンパイラ