C++ 如何将字符数组的可变元素数转换为字符串
我正在使用Arduino并从serial接收字符串。我已将该字符串转换为字符数组。但我需要将该数组的前4或5个元素转换回字符串。有办法吗 我尝试了以下方法,但无效: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
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);