将C++中的数组转换为字符串

Convert Array in C++ to String

本文关键字:转换 字符串 数组 C++      更新时间:2023-10-16

我知道在Java中,可以使用Arrays.toString((返回数组的String表示。在C++中有没有一种方法可以提供类似的功能?

如果你指的是一个字符数组,你可以使用后面的东西

std::vector arr {'a', 'b', 'c'};//the array
std::string str{arr.cbegin(), arr.cend()};//the generated string

工作示例

#include <vector>
#include <algorithm>
#include <string>
#include <iostream>
int main(){
std::vector arr {'a', 'b', 'c'};
std::string str{arr.cbegin(), arr.cend()};
std::cout << str;
}

实时

C++不是Java。我建议你读一本好的C++编程书,看看一些C++参考网站。注意C++的各种方言(例如,C++11与C++17不同(。

请记住,C++数组是同构的:所有数组组件都具有相同的类型。与Java相反,C++没有像JavaObject类那样的根类型。但是C++有一些有趣的标准容器。注意五条规则。并且您可以将程序设计为具有您的中心class MyRootClass,其他所有class都从该中心继承。

但是,您可以很容易地编写一些短代码来将数组转换为字符串。

话虽如此,您可以找到有趣的开源C++库,如POCO或Qt,以简化您的工作。

您还可以(轻松地(编写C++元程序,生成用于声明数组的C++代码,并发送代码以打印或输出它们,您可以为此使用或改进SWIG工具。

还请阅读C++编译器(例如GCC或Clang(、链接器(例如GNU binutils(和构建自动化(例如GNUmake或ninja(的文档。如果您的C++编译器是GCC,那么编译时要使用所有警告和调试信息,所以g++ -Wall -Wextra -g(并学习使用GDB调试器(。如果您的C++代码库很大(例如数十万行C++(,请考虑编写GCC插件,自动生成一些C++代码用于序列化或打印例程。

将C++中的数组转换为字符串

一种可能是使用半标准化的文本表示,如JSON或YAML(可能使用sqlite或PostGreSQL等数据库(。两者都有C++中的开源库,这可能会有所帮助。

另请参阅s11序列化库。