当前位置: 首页 > news >正文

有哪些网站开发技术共享充电宝app开发

有哪些网站开发技术,共享充电宝app开发,网站初期做几个比较好,凡客建站网站下载文章目录 22. 字符串22.1. 字符数组 vs 字符指针 vs 常量字符指针 vs string22.2. strcpy vs sprintf vs memcpy22.3. strlen vs length vs size vs sizeof22.4. 字符串之间的转换22.5 其他数据类型与字符串之间的转换22.6 字符串分割 22. 字符串 22.1. 字符数组 vs 字符指针 …

文章目录

  • 22. 字符串
    • 22.1. 字符数组 vs 字符指针 vs 常量字符指针 vs string
    • 22.2. strcpy vs sprintf vs memcpy
    • 22.3. strlen vs length vs size vs sizeof
    • 22.4. 字符串之间的转换
    • 22.5 其他数据类型与字符串之间的转换
    • 22.6 字符串分割

22. 字符串

22.1. 字符数组 vs 字符指针 vs 常量字符指针 vs string

  • 字符数组 char[]
    • 它将常量字符拷贝到自己的内存空间,再进行读写操作。
    • 它的大小在编译时确定,且固定大小。
  • 字符指针 char*
    • 它指向常量字符的内存空间,不能修改字符串。
    • 只有为它动态分配内存,才能修改。
  • 常量字符指针 const char*
    • 指向常量字符的指针,不能修改字符串内容。
    • 【注意】 如果是 char* 或 char[] 隐式转换成 const char* ,只是不能通过const char* 去修改,可能存在安全隐患。示例如下。
  • string 是C++标准字符串类,封装了字符串的操作和管理。
int main() {char c1[] = "hello";c1[0] = 'a';char* p1 = "hello";p1[0] = 'a'; //报错,尝试修改常量字符char* p2 = new char[10];strcpy(p2, "hello");p2[0] = 'a';const char* c = p2;  //char* 隐式转换成 const char*c[0] = 'b';  //报错,尝试修改常量字符p2[0] = 'b';  cout << c << endl;  //输出bellocout << p2 << endl; //输出bellodelete[] p2;return 0;
}

22.2. strcpy vs sprintf vs memcpy

  • 相同:都可以拷贝。
  • 区别
    • strcpy是字符串之间的拷贝。
    • sprintf是其他数据类型到字符串的转化。
    • memcpy是内存块间的拷贝。
    • 另外,执行效率,memcpy > strcpy > sprintf。示例如下。
struct Person
{char name[20];int age;
};int main() {char data[100];strcpy(data, "hello");int num = 1234;sprintf(data, "%d", num);Person person = { "John",30 };memcpy(data, &person, sizeof(Person));return 0;
}

22.3. strlen vs length vs size vs sizeof

  • 相同:都是获取大小。
  • 区别
    • strlen位于头文件 < cstring >,获取const char* 长度,包括 char*,char[],因为它们可以隐式转换成const char*。
    • length获取string长度。
    • size除了获取string长度,还可以获取容器长度。
    • sizeof获取对象或类型大小,以字节为单位。示例如下。
int main() {const char* ctr = "Hello";cout << strlen(ctr) << endl; //输出5cout << sizeof(ctr) << endl; //输出4,在32位环境下,指针占4Bstring str = "Hello";cout << str.length() << endl; //输出5cout << str.size() << endl; //输出5,length和size对string来说没区别return 0;
}

22.4. 字符串之间的转换

  • string 转 const char*,使用c_str()。
  • const char* 转 char[],使用strcpy()。
  • string 转 char[],使用strcpy(c_str())。
  • const char*,char*, char[] 转 string,直接赋值。
  • char*, char[] 转 const char*,隐式转换。

22.5 其他数据类型与字符串之间的转换

  • const char* 转 int、long和double,分别使用atoi、atol、atof。
  • string 转 int、long、long long、float、double、long double,分别使用stoi、stol、stoll、stof、stod、stold。
  • 数值类型 转 string,使用to_string。

22.6 字符串分割

  • 使用","分割字符串,示例如下。
int main() {char str[] = "apple,banana,orange,grape";char* token = strtok(str, ",");while (token != nullptr) {printf("%s\n", token);token = strtok(NULL, ",");}return 0;
}
http://www.yayakq.cn/news/521306/

相关文章:

  • 南宁市建设厅网站wordpress在哪下载模板
  • 青岛快速建站模板佛山网站推广优化公司
  • ftp网站后台茌平网站制作
  • 宿迁建设公司网站推广网站排名
  • 工业企业网站建设也的意义界面设计做的好的网站
  • 上海个人建站模板如何做网站栏目
  • 如何防止网站挂马旅游网站网页设计
  • 深圳营销型网站建设 龙华信科flash网站制作下载
  • 天津市做网站的公司直接找高校研究生做网站行吗
  • 做网站卖得出去吗淘宝运营课程
  • 网站建设的教材珠海做网站公司
  • 找网站公司做网站的陷阱wordpress迁移后无法登录
  • 北京网站排名制作青海省住房和城乡建设厅网站首页
  • 使用cn域名做网站的多吗网站建设 回本
  • 自己如何创建网站梁志天室内设计公司官网
  • 一诺互联网站建设公司vps做网站教程
  • 网站高端建设开发公司建站网页模板
  • 鹤壁企业网站建设石狮住房和城乡建设局网站
  • 在网上做试卷的网站上海公司注册一站式企业服务
  • 咸阳学校网站建设报价平台交易网
  • 上海网站排名网站文字很少怎么做优化
  • 网站建设与管理考题app外包公司怎么找
  • wordpress文章添加字段网站建设优化服务策划
  • 做优化的网站怎么做网站开发
  • 本地网站建设教程xamppapp自己怎么开发软件
  • 网站地址查询ip2022织梦cms侵权开庭
  • 网站建设 资讯成都软件培训机构排名前十
  • 企业网站模板推荐ztouchs网站查询
  • 随州便宜做网站angularjs 网站模板
  • 一流高职院校建设工作网站教你用wordpress