【问题标题】:Type Cast a string to char in c++ [closed]在c ++中将字符串类型转换为char [关闭]
【发布时间】:2013-03-14 15:00:40
【问题描述】:

我有一个字符串String s = "B"

我想把它转换成char cs = 'B'

我该怎么办?

【问题讨论】:

标签: c++


【解决方案1】:

按索引从string 中检索字符

std::string s = "B"; // It has at least one character

char cs = s[0];

【讨论】:

    【解决方案2】:

    可以像访问数组一样访问std::string 来访问单个字符:

    char cs = s[0];
    

    但要小心,就像数组一样,您可以将它与超出范围的索引一起使用!

    【讨论】:

      【解决方案3】:

      您不能将string转换char。你也不能真正转换它。根据定义,一个字符串包含零个或多个chars,所以你想要做什么充其量是不清楚的!

      例如,如果你有String s = "BC",你会期待什么? 'B'? 'C'? 4'B''C' 的溢出总和)?还有什么?


      如果你想获取字符串中的第一个字符,你可以像访问数组一样访问它:

      char cs = s[0];
      

      请注意,您应该首先进行某种边界检查,以确保字符串中至少有一个字符。

      【讨论】:

        【解决方案4】:

        下面会得到s的第一个字符(如果字符串为空则为0):

        std::string s = ...;
        char cs = 0;
        if (!s.empty()) {
          cs = s[0];
        }
        

        【讨论】:

          猜你喜欢
          • 2020-10-16
          • 1970-01-01
          • 2013-04-15
          • 2014-03-15
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多