gpt4 book ai didi

c++ - 将字节连接到字符串

转载 作者:行者123 更新时间:2023-11-30 05:39:45 25 4
gpt4 key购买 nike

我想将两个字符串保存到 EEPROM,用 255(或 0)个字符分隔每个字符串,以便稍后我可以读取它们,知道每个字符串何时结束。

void saveToE(String data) {
int str_len = data.length() + 1;
char char_array[str_len];
data.toCharArray(char_array, str_len);
for(int addr = 0; addr < str_len; addr++){
EEPROM.write(addr, char_array[addr]);
}
}

问题是数据的串联:

String part1 = "Hello";
String part2 = "World";
String data = part1 + byte 255 + part2 + byte255;

如何在第 1 部分和第 2 部分之后添加字节 255?

最佳答案

你应该能够使用字符串连接来完成它,就像这样:

String part1 = "Hello";
String part2 = "World";
String separator = "\xFF"; // That's character 255, in hex
String data = part1 + separator + part2 + separator;

您也可以在 saveToE 函数中进行连接,如下所示:

void saveTwoStringsToE(String one, String two) {
int str_len1 = one.length();
int str_len2 = two.length();
// Add two bytes for 255 separators, and an extra byte for null terminator
char char_array[str_len1+str_len2+3];
one.toCharArray(char_array, str_len1);
char_array[str_len1] = 255;
two.toCharArray(char_array+str_len1+1, str_len2);
char_array[str_len1+1+str_len2] = 255;
for(int addr = 0; addr < str_len1+str_len2; addr++) {
EEPROM.write(addr, char_array[addr]);
}
}

关于c++ - 将字节连接到字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32149483/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com