文字列を入力し、個々の文字に分割する必要があるプログラムを書いています。基本的に、 "string"を["s"、 "t"、 "r"、 "i"、 "n"、 "g"]に変換する方法を見つける手助けが必要です。文字列は、デフォルトの文字の配列ではなく、文字列データ型を使用して格納されます。私はそれをそのままにしてcharを避けたいですが、必要に応じて使用します。
どんな助けでもニースです、事前にありがとう。
string a = "hello";
cout << a[1];
それが説明することを願っています
文字列がすでに入力されていると仮定します。
string s("string");
vector<char> v(s.begin(), s.end());
これは、文字列の文字でベクターv
を埋めます。
_std::string
_のc_str()
メソッドを使用してみてください。
_#include <string>
using namespace std;
int main(void)
{
string text = "hello";
size_t length = text.length() + sizeof('\0');
char * letters = new char[length];
strcpy(letters, length.c_str());
for (unsigned int i = 0; i < length; ++i)
{
cout << '[' << i << "] == '" << letters[i] << "'\n";
}
return EXIT_SUCCESS;
}
_
文字列は、基礎となる文字のシーケンスです(つまり、std :: stringの場合はchar、std :: wstringの場合はwchar_t)。
そのため、各文字を簡単に取得できます。
for (std::string::size_type l = 0; l < str.length(); ++l)
{
std::string::value_type c = str[l];
}
string input ="some string for example my cat is handsome";
vector<string> split_char_to_vector(string input) {
vector<string> output;
for(size_t i=0;i<=input.length();i++) {
output.Push_back(input[i]));
}
return output;
}