字符串可以定义为字符序列。在 C++ 中,有两种类型的字符串:
在 C 编程中,构成字符串的字符集合存储在数组中。C++ 编程也支持这种方式。因此它被称为 C 风格字符串。C 风格字符串是以空字符结尾的 char 类型数组。
这个 C++ 程序从用户那里获取一个 C 风格字符串输入。为此,声明两个 C 风格字符串:char line[100], astring[100],以及一个整型变量 j=0。然后要求用户输入一个字符串。将用户输入的字符串读取到字符串数组 line 中。要读取包含空格的文本,可以使用 cin.get() 函数。该函数接受两个参数。第一个参数是字符串的名称(字符串第一个元素的地址),第二个参数是数组的最大大小。
现在,用户输入的字符串存储在字符串数组 line 中。我们必须从字符串中提取所有非字母字符。为此,我们必须使用 for 循环将字符串中的每个字符与从 a 到 z 和从 A 到 Z 的字母进行比较。获取每个字符并使用 if 条件与字母进行比较,如果它是字母,则将其添加到 astring 中。
aString[j++] = line[i]; 循环结束后,显示只包含字符的输出字符串。
步骤1: 调用头文件iostream。
步骤 2:使用 namespace std。
步骤 3: 打开整数类型的主函数;`int main()`。
步骤 4: 声明两个字符类型字符串:char line[100]; astring[100] 和一个整型变量 j=0;
步骤 5:要求用户输入字符串。
步骤 6:使用函数 cin.getline() 将字符串获取到字符串数组 line 中。
步骤 7:从头开始访问字符串中的字符,并将每个字符与字母 a 到 z 和 A 到 Z 进行比较。
步骤 8: 如果匹配,则将字符存储到字符串 astring[100] 中。
步骤 9:从字符串 astring[100] 中获取没有非字母字符的字符串。
步骤 10:显示字符串;
步骤 11:退出。
#include <iostream>
using namespace std;
int main() {
char line[100], aString[100];
int j = 0;
cout << "Enter a string: ";
cin.getline(line, 100);
for(int i = 0; line[i] != '\0'; ++i)
{
if ((line[i] >= 'a' && line[i]<='z') || (line[i] >= 'A' && line[i]<='Z'))
{
aString[j++] = line[i];
}
}
aString[j] = '\0';
cout << "Output String: " << aString;
return 0;
}
Enter a string: l4ea@rne$$45tuto87ria**ls Output String: learnetutorials