无法成string转为char

string[] strList = str.Split("RCS-")   

为什么会报错?无法成string转为char。如果我用单引号为什么又报为字符文本中的字符太多?

str.Split("RCS-")这行代码中,str是一个string类型的变量,而Split()函数的参数是一个char类型的变量,所以会报错,无法将string转为char。如果用单引号,则会报错说字符文本中的字符太多,因为单引号只能表示一个字符,而Split()函数的参数需要一个字符串,所以会报错。

  • 你可以参考下这个问题的回答, 看看是否对你有帮助, 链接: https://ask.csdn.net/questions/223426
  • 这篇博客你也可以参考下:解决困扰已久的常量池问题&以及String的内存存放问题?
  • 除此之外, 这篇博客: char型和string型的区别中的 char型 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • char型是原C库保留,对于char a【】型字符数组,对其处理的函数有----注:以下函数都在头文件中
    :1、测量数组长度(即字符个数)strlen ,用法:

    int x;
    x=strlen(a);
    

    2、字符数组比较函数:strcmp,用法:

    char a[m],b[n];
    int x;
    x=strcmp(a,b);
    

    对两个数组开始逐个字符的进行比较,直到某个字符不相同或者其中一个字符串比较完毕才停止比较。字符的比较为ASCII码的比较。如果a>b,则返回1 ,如果a==b,则返回0,如果a<b,则返回-1.

    如a[4]=CSDN和b[4]=CSFN两个数组,对其比较,CC,SS,D>F,停止比较,得到a>b,返回1。

    3、字符串连接函数 strcat,用法:

    char a[m],b[n];
     cout<<strcat(a,b);
    

    作用为将a,b中的字符连接到一起,如a={’C’,‘S’},b={‘D’,‘N’},输出为{‘C’,‘S’,‘D’,‘N’}.

    4、字符串赋值函数strcpy,用法:

    char a[10],b[]="China";
    strcpy(a,b);
    

    效果为将b中的字符串复制到a中

    注意:以上函数均不可对string定义的变量使用
    补充:对于char字符数组,单个输入字符是不会系统补零,如:char a[2]={‘a’,‘b’};
    一次性输入时系统会自动补零,如:char a[ ]=“abfw”;