C++字符数组
该函数输⼊的字符串可以包含空格,遇到回车停⽌。例如:
该函数的功能是输出(⾃动加上换⾏符)字符串。例如:
输出:
功能是把 “字符数组2” 连接到 “字符数组1” 的后⾯,结果放在 “字符数组1” 中。因此,“字符数组1”的长度应该⾜够长,否则会出错。使⽤格式:
例如:
功能是返回字符串的长度,不包括结束标记符 '\0' 。例如:
功能是⽐较两个字符串,⽐较规则是依次按字符的ASCII 码⼤⼩⽐较。
若字符串1 等于字符串2,则返回0;若字符串1⼩于字符串2,则返回⼀个负整数;若字符串1⼤于字符串2,则返回⼀个正整数。例如:使⽤字符串函数的⼏点说明:
1. 不能⽤赋值语句将⼀个字符串常量直接赋值给⼀个字符数组,但可以使⽤strcpy() 函数进⾏赋值。例如:str = "abcde"; 是错误的,应改为:strcpy(str, "abcde");
2. 两个字符数组不能直接⽐较⼤⼩,应使⽤strcmp() 函数。例如:if (str1 > str2) 是不正确的,应改为:if (strcmp (str1, str2) > 0)
3. 使⽤字符数组要⼩⼼超界
例题char str[] = "haha"; // 长度为5,包含字符 '\0'
1char str[30];gets(str); // 已弃⽤
1
2
3char str[] = "Hi \nnice to meet you!";puts(str);
1
2
3Hi nice to meet you!
1
2strcat(字符数组1, 字符数组2)
1char a[] = "12345";char b[] = "6789";strcat(a, b);cout << a << endl; // 打印123456789
1
2
3
4
5char s[] = "Hello";cout << strlen(s) << endl; // 打印5
1
2char str1[] = "hello";char str2[] = "Hello";cout << strcmp(str1, str2) << endl; // 打印1
1
2
3
strcmp比较数组4
【例题描述】逆序字符串
代码:
输⼊:12345输出:54321
1
2
3#include <bits/stdc++.h>using namespace std;const int N = 100;int main(){ char str1[N], str2[N]; puts("输⼊字符串:"); gets(str1); puts("输出逆序:"); int len = strlen(str1); for (int i = len - 1; i >= 0; i--) { str2[len - i - 1] = str1[i]; } str2[len] = '\0'; cout << str2 << endl; system("pause");}1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论