将字符串转换为字符数组

C++Beginner
立即练习

介绍

在本实验中,我们将演示如何在 C++ 中将字符串转换为字符数组。string.h 库中定义的 c_str() 方法用于将字符串转换为字符数组。

包含库并定义命名空间

我们将在 ~/project 目录下使用以下命令创建一个名为 main.cpp 的新文件:

touch ~/project/main.cpp

首先,我们需要包含必要的头文件并定义我们将使用的 std 命名空间。

#include <iostream>
#include <string.h>

using namespace std;

声明变量并输入字符串

我们声明一个 string 变量,并提示用户输入一个不包含空格的字符串。

int main()
{
    string s;
    cout << "Enter a string without any space: ";
    cin >> s;
}

从字符串创建字符数组

我们使用 strncpy 函数从输入的字符串创建一个字符数组。sizeof 运算符用于确定数组的大小。

char cArray[1024];
strncpy(cArray, s.c_str(), sizeof(cArray));

将数组元素初始化为零

为了避免数组中出现垃圾值,我们使用以下语句将数组的所有元素初始化为零。

cArray[sizeof(cArray) - 1] = 0;

打印数组元素

我们通过循环遍历数组以打印所有元素。

for (int i = 0; cArray[i] != 0; i++)
{
    cout << "cArray[ " << i << " ]: " << cArray[i] << endl;
}

要编译并运行代码,请在终端中使用以下命令:

g++ main.cpp -o main && ./main

总结

在本实验中,我们学习了如何在 C++ 中将字符串转换为字符数组。c_str() 方法用于从输入的字符串创建字符数组。我们将数组的所有元素初始化为零,然后通过循环遍历数组以打印所有元素。