1. ホーム
  2. c++

[解決済み] std::stringの文字数を取得するには?

2022-08-24 15:32:57

質問

C++で文字列の文字数を求めるにはどうしたらよいですか?

どのように解決するのですか?

もし、あなたが std::string を呼び出すと length() :

std::string str = "hello";
std::cout << str << ":" << str.length();
// Outputs "hello:5"

c-stringを使う場合は、以下のように呼び出します。 strlen() .

const char *str = "hello";
std::cout << str << ":" << strlen(str);
// Outputs "hello:5"

あるいは、もしあなたが Pascal スタイルの文字列 (あるいは Joel Spolsky の言うところの f***** 文字列) を使うのが好きであるなら がそう呼んでいるように を使うのが好きなら、最初の文字を参照しないようにすればよいでしょう。

const char *str = "\005hello";
std::cout << str + 1 << ":" << *str;
// Outputs "hello:5"