作业介绍

C++ 字符串

  • C 风格字符串

C 风格的字符串起源于 C 语言,并在 C++ 中继续得到支持。字符串实际上是使用 null 字符 \0 终止的一维字符数组。因此,一个以 null 结尾的字符串,包含了组成字符串的字符。

下面的声明和初始化创建了一个 RUNOOB 字符串。由于在数组的末尾存储了空字符,所以字符数组的大小比单词 RUNOOB 的字符数多一个。

char site[7] = {'R', 'U', 'N', 'O', 'O', 'B', '\0'};

依据数组初始化规则,您可以把上面的语句写成以下语句:

char site[] = "RUNOOB";

以下是 C/C++ 中定义的字符串的内存表示:

其实,您不需要把 null 字符放在字符串常量的末尾。C++ 编译器会在初始化数组时,自动把 \0 放在字符串的末尾。让我们尝试输出上面的字符串:

实例

#include <iostream>
 
using namespace std;
 
int main ()
{
   char site[7] = {'j', 'c', 'o', 'i', '\0'};
 
   cout << "极晨: ";
   cout << site << endl;
 
   return 0;
}

当上面的代码被编译和执行时,它会产生下列结果:

极晨: jcoi

输入字符串

cin : 输入字符串,遇到空格或换行为止
cin.getline(s,100) : 获取固定位数给数组s

#include <iostream>
#include <cstring>	   //头文件 
using namespace std;
char a[20]; 
int main()
{	
	cin  >> a;          //输入123 123 
	cout << a; 			//此时输出 123 
	
//	cin.getline(a,10);    //输入123 123 
//	cout << a; 			//此时输出 123 123
	return 0;
}

求字符数组长度

strlen()

#include <iostream>
#include <cstring>	   //头文件 
using namespace std;
char a[20]; 
int main()
{	
	cin >> a;          //输入123 
	cout << strlen(a); //此时输出3 
	
	return 0;
}

题目

认领作业后才可以查看作业内容。
状态
正在进行…
题目
10
开始时间
2025-1-6 0:00
截止时间
9999-11-18 23:59
可延期
24 小时