C++で文字列から指定の文字数を削除する方法


  1. substrを使用する方法:

    #include <iostream>
    #include <string>
    int main() {
    std::string str = "Hello, World!";
    int n = 5; // 削除する文字数
    std::string result = str.substr(0, str.size() - n);
    std::cout << result << std::endl;
    return 0;
    }
  2. eraseを使用する方法:

    #include <iostream>
    #include <string>
    int main() {
    std::string str = "Hello, World!";
    int n = 5; // 削除する文字数
    str.erase(str.size() - n, n);
    std::cout << str << std::endl;
    return 0;
    }
  3. replaceを使用する方法:

    #include <iostream>
    #include <string>
    int main() {
    std::string str = "Hello, World!";
    int n = 5; // 削除する文字数
    str.replace(str.size() - n, n, "");
    std::cout << str << std::endl;
    return 0;
    }

これらの方法はいずれも、元の文字列から指定の文字数を削除することができます。substr関数は部分文字列を取得するために使用され、erase関数は指定した位置から指定の文字数を削除します。また、replace関数も指定した位置から指定の文字数を削除し、空文字列で置き換えます。

どの方法を選択するかは、特定の要件やコードの文脈によって異なります。必要に応じて適切な方法を選択してください。