将字符串转换为字符数组

C++C++Beginner
立即练习

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

介绍

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


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL cpp(("`C++`")) -.-> cpp/BasicsGroup(["`Basics`"]) cpp(("`C++`")) -.-> cpp/ControlFlowGroup(["`Control Flow`"]) cpp(("`C++`")) -.-> cpp/IOandFileHandlingGroup(["`I/O and File Handling`"]) cpp(("`C++`")) -.-> cpp/StandardLibraryGroup(["`Standard Library`"]) cpp(("`C++`")) -.-> cpp/SyntaxandStyleGroup(["`Syntax and Style`"]) cpp/BasicsGroup -.-> cpp/variables("`Variables`") cpp/BasicsGroup -.-> cpp/arrays("`Arrays`") cpp/BasicsGroup -.-> cpp/strings("`Strings`") cpp/ControlFlowGroup -.-> cpp/for_loop("`For Loop`") cpp/IOandFileHandlingGroup -.-> cpp/output("`Output`") cpp/IOandFileHandlingGroup -.-> cpp/user_input("`User Input`") cpp/StandardLibraryGroup -.-> cpp/string_manipulation("`String Manipulation`") cpp/SyntaxandStyleGroup -.-> cpp/code_formatting("`Code Formatting`") subgraph Lab Skills cpp/variables -.-> lab-96182{{"`将字符串转换为字符数组`"}} cpp/arrays -.-> lab-96182{{"`将字符串转换为字符数组`"}} cpp/strings -.-> lab-96182{{"`将字符串转换为字符数组`"}} cpp/for_loop -.-> lab-96182{{"`将字符串转换为字符数组`"}} cpp/output -.-> lab-96182{{"`将字符串转换为字符数组`"}} cpp/user_input -.-> lab-96182{{"`将字符串转换为字符数组`"}} cpp/string_manipulation -.-> lab-96182{{"`将字符串转换为字符数组`"}} cpp/code_formatting -.-> lab-96182{{"`将字符串转换为字符数组`"}} end

包含库并定义命名空间

我们将在 ~/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() 方法用于从输入的字符串创建字符数组。我们将数组的所有元素初始化为零,然后通过循环遍历数组以打印所有元素。

您可能感兴趣的其他 C++ 教程