制造网站,南充高端网站建设,黄骅港旅游攻略,雄安 网站建设字符数组的封装
基本操作与vector很像#xff0c;它们内部采用的都是数组结构
#includestring 创建string对象#xff1a;
string s; 给string对象赋值#xff1a;
方式一#xff1a;si love coding;
方式二#xff1a; char a[256];
scanf(它们内部采用的都是数组结构
#includestring 创建string对象
string s; 给string对象赋值
方式一si love coding;
方式二 char a[256];
scanf(%s, a);
sa; 尾部添加字符/字符串
ssa;
ss forever;
s.append( forever); 插入字符
s.insert(s.begin()1,p); 下标方式随机访问字符
cout s[3]; 删除
erase(s.begin() 2);
erase(s.begin(), s.begin()3); 长度length()
判空empty() 替换
s.replace(2,5,hi); //从2开始计数5个字符将其换为hi 子串
s.find(a);
s.find(abc);
//查找第一次出现的位置如果查不到则返回4294967295 比较
s.compare(cat); //s大返回1s小返回-1相等返回0。 reverse逆序子串
reverse(s.begin(), s.end()); 字符数组与string对象的互操作
char a[256];
scanf(%s, a);
string sa; printf(%s, a);
printf(s.c_str()); cout a;
cout s; string对象与sscanf函数
sscanf函数可以把一个字符串按需要的方式分离出子串甚至是数字。
char a1[256], a2[256], a3[256];
sscanf(aaa bbb ccc,%s %s %s, a1, a2, a3); //此时a1aaa;a2bbb;a3ccc;
int a,b,c;
sscanf(111 222 333,%d %d %d, a, b, c); //此时a111;b222;c333;
sscanf(111,222$333,%d %d %d, a, b, c); //此时a111;b222;c333; 因为字符串的数字分隔符为,和$ string和数值的相互转换 string d2s(double x) //double to string d2s
{ostringstream oss;if (oss x)return oss.str();return conversion error; // if error
}double s2d(const string s) //string to double s2d
{istringstream iss(s);double x;if (i x)return x;return 0.0; //if error
}如果需要把读入的数据按位分开则可采用string类型完成数据读取然后按下标访问各位数值。