c++ - 如何创建 C 字符串数组?

标签 c++ arrays c-strings

所以我只想在 C++ 中创建一个 C 字符串数组。是的,我知道 C++ 使用字符串数据类型,但我正在做的工作要求我制作一个 C 字符串数组。 C 字符串本身是一个字符数组。那么制作一个 C 字符串数组就像制作一个二维字符数组一样吗?然后要访问每个单独的字符,我需要指定其各自的行和列位置。但是,我想把它想象成一个一维的 C 字符串数组,其中每个索引都返回一个完整的 C 字符串。我怎样才能做到这一点?请解释。我如何循环遍历这样的数组并打印出或返回每个 C 字符串,而不是让嵌套循环分别返回每个字符?

最佳答案

对于字符串文字,你可以这样做:

const char *strings[] = { "foo", "bar", "blech" };

对于要修改的字符串数组,您可以做更多类似的事情:

char strings[3][80] = { "foo", "bar", "blech" };

无论哪种方式,您都可以像这样打印它们:

for (int i = 0; i < 3; ++i)
{
    std::cout << strings[i] << std::endl;
}

或者更通俗地说:

for (auto & s : strings)
{
    std::cout << s << std::endl;
}

关于c++ - 如何创建 C 字符串数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42321458/

相关文章:

c++ - Qt中如何添加自定义类处理功能

c++ - vector<T>::push_back() 是否调用其类型 T 的任何匹配构造函数?

java - 根据 Input Java 更改 Array 初始化

arrays - 已知子集大小且数组为范围的子集求和问题

c++ - strdup 指针版本需要一个临时指针

c++ - .h 文件的意义是什么?

arrays - 从二维数组获取列 - 如何限制扩展中的数组类型?

c - 是否可以仅打印出 C 字符串的特定部分,而不制作单独的子字符串?

c - String #define 返回一个随机整数

Java JAI BufferedImage 与 C++ OpenCV Mat imread?