Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何将字符数组的可变元素数转换为字符串_C++_Arrays_String - Fatal编程技术网

C++ 如何将字符数组的可变元素数转换为字符串

C++ 如何将字符数组的可变元素数转换为字符串,c++,arrays,string,C++,Arrays,String,我正在使用Arduino并从serial接收字符串。我已将该字符串转换为字符数组。但我需要将该数组的前4或5个元素转换回字符串。有办法吗 我尝试了以下方法,但无效: String str= String('a[0]'); 您需要的是std::string的方法 可以,然后使用substr获取所需的子字符串 std::string str("The quick brown fox jumps over the lazy dog"); std::cout << str.substr(0

我正在使用Arduino并从serial接收字符串。我已将该字符串转换为字符数组。但我需要将该数组的前4或5个元素转换回字符串。有办法吗

我尝试了以下方法,但无效:

String str= String('a[0]');
您需要的是
std::string
的方法

可以,然后使用
substr
获取所需的子字符串

std::string str("The quick brown fox jumps over the lazy dog");
std::cout << str.substr(0, 9);
std::string str(“敏捷的棕色狐狸跳过了懒狗”);
std::cout您需要的是
std::string
的方法

可以,然后使用
substr
获取所需的子字符串

std::string str("The quick brown fox jumps over the lazy dog");
std::cout << str.substr(0, 9);
std::string str(“敏捷的棕色狐狸跳过了懒狗”);
标准::cout
它的std::string构造函数非常优雅


std::string的构造函数非常优雅。

您没有检查边界。如果
n>m
?另外,
std::string
有一个构造函数来实现它。@IvanRubinson:正如OP提到的,他/她想将前4或5个字符转换为字符串。因此我假设,
m>n
。您没有检查边界。如果
n>m
?另外,
std::string
有一个构造函数来实现它。@IvanRubinson:正如OP提到的,他/她想将前4或5个字符转换为字符串。因此我认为,
m>n
。谢谢你的快速回复,伊万。我在这里要做的是从序列号中获取一个字符串。如果字符串以COMSTEP开头,则进入函数,在该函数中我分析字符串的其余部分并将其标记化。字符串由空格分隔的字符组成。我是否必须将字符串转换为char,或者是否有其他方法?附言:我是阿杜伊诺的一个笨蛋。因此,如果您已经有一个字符串,则无需对其进行转换。只需将您拥有的字符串子串。谢谢您的快速响应,伊万。我在这里要做的是从序列号中获取一个字符串。如果字符串以COMSTEP开头,则进入函数,在该函数中我分析字符串的其余部分并将其标记化。字符串由空格分隔的字符组成。我是否必须将字符串转换为char,或者是否有其他方法?附言:我是阿杜伊诺的一个笨蛋。因此,如果您已经有一个字符串,则无需对其进行转换。只需子串您拥有的字符串。
char* inp = ..;
int size = 4; // int size = 5;
std::string str(inp, size);
char* data = ...;
int size = 4;
std::string str(data, size);