栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C++中的字符串

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C++中的字符串

一、前言

C++中有两种风格字符串,分别是:

  • C++风格字符串
  • C风格字符串

它们各自的声明方式如下:

void main(){
    string a = "hello";    //C++风格
    char *b = "hello";  //C风格   字符串数组
    char c[] = "hello";  //C风格 字符串常量
    const char* d[]="hello"  //c风格
}
二、C风格字符串
C风格字符串声明:
字符串数组:
char c[20(可省)]={'c', '  ', 'p', 'r', 'o', 'g', 'r', 'a','m'};  
char str[30(可省)] = {"c.biancheng.net"};  //大括号可以省

字符串常量:
char *str = "abdc";
或者
char *str;
str = "abcd";

//C语言有两种表示字符串的方法,一种是字符数组,另一种是字符串常量,它们在
内存中的存储位置不同,使得字符数组可以读取和修改,而字符串常量只能读取不能修改。

这里需要留意一个坑,字符数组只有在定义时才能将整个字符串一次性地赋值给它,一旦定义完了,就只能一个字符一个字符地赋值了。请看下面的例子:

#include 
#include 
int main()
{
 char str[7];
//str = "abc123";  //错误
//正确
str[0] = 'a'; str[1] = 'b'; str[2] = 'c';
str[3] = '1'; str[4] = '2'; str[5] = '3';
std::cout < 

参考资料:C语言字符数组和字符串详解

  C语言字符串指针(指向字符串的指针)详解

三、C++风格字符串

C++ 大大增强了对字符串的支持,除了可以使用C风格的字符串,还可以使用内置的 string 类。string 类处理起字符串来会方便很多,完全可以代替C语言中的字符数组或字符串指针。

#include 
#include 
using namespace std;

int main()
{
    string s1;//变量 s1 只是定义但没有初始化,编译器会将默认值赋给 s1,默认值是"",也即空字符串。
    string s2 = "c plus plus";//变量 s2 在定义的同时被初始化为"c plus plus"。与C风格的字符串不同,string 的结尾没有结束标志''。
    string s3 = s2;//变量 s3 在定义的时候直接用 s2 进行初始化,因此 s3 的内容也是"c plus plus"。
    string s4 (5, 's');//变量 s4 被初始化为由 5 个's'字符组成的字符串,也就是"sssss"。
    return 0;
}

参考文献:C++ string详解,C++字符串详解

C++ 字符串与字符数组 详解_ZeroZone零域的博客-CSDN博客_c++字符串数组

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/853582.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号