在C ++中将字符串拆分为字符数组

时间:2010-01-29 00:01:00

标签: c++ string split

我正在编写一个程序,需要输入一个字符串,然后分成单个字母。基本上,我需要帮助找到一种方法将“字符串”变成[“s”,“t”,“r”,“i”,“n”,“g”]。字符串也使用字符串数据类型存储,而不仅仅是默认的字符数组。我想保持这种方式并避免使用char,但如有必要,我会使用它。

任何帮助都会很好,谢谢你。

7 个答案:

答案 0 :(得分:17)

假设您已输入字符串:

string s("string");
vector<char> v(s.begin(), s.end());

这将使用字符串中的字符填充向量v

答案 1 :(得分:13)

string a = "hello"; 
cout << a[1];

我希望能解释它

答案 2 :(得分:1)

字符串只是基础字符的序列(即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];
}

答案 3 :(得分:1)

尝试使用c_str()的{​​{1}}方法:

std::string

答案 4 :(得分:0)

Required OUTPUT
----------------
Sno     A

1   sp0074399p 
2   sp0075399p 

如果要将拆分的字符串转换为字符,请先遍历该字符串,然后将每个字符串写入char数组的第i个位置,即

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;
}

答案 5 :(得分:0)

如果要将拆分的字符串转换为字符,请先遍历该字符串,然后将每个字符串写入char数组的第i个位置,即

<ul>
  {legendData && legendData.labels.length && legendData.labels.map(item => (
    <li key={item}>{item}</li>
  ))}
</ul>

答案 6 :(得分:0)

您可以使用for循环遍历字符串中的字符。

    std::string str = "word"
    for(char i : str){
        std::cout << i << std::endl;
    }
相关问题