C++ C+中的字符串类+;
如果要访问字符串中的C++ C+中的字符串类+;,c++,string,C++,String,如果要访问字符串中的char*数组,数组中是否包含空格 例如 String s = "1 3"; s[1]是”还是3 谢谢大家! 是的,它包括空格s[1]是' 空格和其他字符一样都是字符。是的 s[0] == '1'; s[1] == ' '; // equals 32 ascii s[2] == '3'; 它是零索引数组,起始元素为0,结束元素为n-1。 还要注意,s[1]不是”(双引号),而是”(单引号),因为单引号表示字符文字。C++没有名为String的类;C++有 STD::Str
char*
数组,数组中是否包含空格
例如
String s = "1 3";
s[1]
是”
还是3
谢谢大家! 是的,它包括空格
s[1]
是'
空格和其他字符一样都是字符。是的
s[0] == '1';
s[1] == ' '; // equals 32 ascii
s[2] == '3';
它是零索引数组,起始元素为0,结束元素为n-1。
还要注意,s[1]不是
”
(双引号),而是”
(单引号),因为单引号表示字符文字。C++没有名为String
的类;C++有<代码> STD::String (请注意小写)。您是在使用其他编程语言,还是真正的意思是std::string=“13”代码>?假设他使用的是std::string
,s[3]
是未定义的,不一定是'\0'
@MagnusHoff,如果access使用的是操作符[]
,则为true。如果他真的想“访问字符串中的字符*数组”,那么官方接口是string::c_str()
,它保证以null结尾。@thekashyap:我更喜欢data()
,这是我理解的访问底层char*
的最直接的接口。@celtschk:你说什么“官方”?这两个c_str
和data
都是标准化的,而且,在c++11中,它们保证返回相同的值(即总是以null结尾)。@Lou:不,在c++98/03中,data
不保证以null结尾,只有c_str
是;在c++11中,两者都有这种保证。