欢迎访问宙启技术站
智能推送

strcpy,strlen函数和string类原型

发布时间:2023-05-16 20:43:44

一、strcpy函数原型:

char *strcpy(char *dest, const char *src);

二、strcpy函数功能:

strcpy函数的功能是将src所指向的字符串复制到dest所指向的字符串中,不包括'\0'。

三、strcpy函数参数:

1.dest:目标字符串,即将src字符串拷贝到dest字符串中。

2.src:源字符串,即要被拷贝到dest字符串中的字符串。

四、strcpy函数返回值:

函数返回dest指针,即目标字符串的起始地址。

五、strcpy函数使用注意事项:

1. 目标和源字符串不得重叠;

2. 目标字符串指针所指向的内存空间应足够大,以便存放复制后的源字符串;

3. strcat函数和strcpy函数均有缓冲区溢出的风险,请勿使用;

举例:

char str1[] = "Hello World!";

char str2[50];

strcpy(str2, str1);

printf("str1:%s

", str1);

printf("str2:%s

", str2);

六、strlen函数原型:

size_t strlen(const char *s);

七、strlen函数功能:

strlen函数的功能是计算字符串的长度,即不包括'\0'的字符个数。

八、strlen函数参数:

s:需要计算长度的字符串。

九、strlen函数返回值:

当s为空串时,返回0;否则返回s字符串中字符的个数。

十、strlen函数使用注意事项:

1. 字符串的长度不包括末尾的'\0';

2. 不要使用strlen去计算动态分配的字符串中的长度,因为不一定有'\0'。

举例:

char str[] = "Hello World!";

int len = strlen(str);

printf("Length of string: %d

", len);

十一、string类原型:

class string {

public:

    string(); //构造函数,创建一个空的字符串

    string(const string& str); //复制构造函数,创建一个与已有字符串完全相同的新字符串

    string(const char* s); //构造函数,使用char类型的字符串初始化字符串

    string& operator=(const char* s); //赋值运算符,使用char类型的字符串初始化字符串

    string& operator=(const string& str); //赋值运算符,将一个与已有字符串完全相同的新字符串赋值给它

    ~string(); //析构函数,释放字符串所占用的内存

    const char* c_str() const; //获取字符串的字符指针

    size_t size() const; //获取字符串的长度

    //其它成员函数省略

};

十二、string类功能:

string类是C++标准库提供的一个字符串类,它封装了字符串的常见操作。其中包括构造函数、复制构造函数、析构函数、赋值运算符、获取字符串的字符指针、获取字符串的长度等功能。

十三、string类使用注意事项:

1. 对string类对象的访问可以使用下标访问符[],例如str[0]代表字符串str的 个字符,str[1]代表字符串str的第二个字符,以此类推;

2. string类是动态分配内存的,所以你可以在程序中动态地调整字符串的大小;

3. 当string对象被销毁时,它所占用的内存也会被自动释放;

举例:

string str = "Hello World!";

cout << "Length of string:" << str.size() << endl;

cout << "The string is:" << str.c_str() << endl;