如何解决将字符串拆分为最大 30
我需要编写函数将我的大字符串拆分为最大大小为 30 的 arr。我尝试了这样的事情:
byte packetNumber;
String Text = "Lorem Ipsum is simply dummy text of the printing and typesetting industry.";
void loop(){
convertData(Text);
}
void convertData(String toSlice) {
packetNumber = ceil((float)toSlice.length() / 30);
byte mod = toSlice.length() % 30;
char Arr[packetNumber][30];
byte buf = 0,buf2 = 30;
for (byte x = 0; x < packetNumber; x++) {
for (byte y = buf; y < buf2; y++) {
Arr[x][y] = toSlice[y];
Serial.print(toSlice[y]);
Serial.print("----->");
Serial.print(y);
Serial.print("\n");
}
if (x == packetNumber-2){
buf+=mod;
buf2+=mod;
}
else{
buf+=30;
buf2+=30;
}
}
Serial.print(Arr[0]);
Serial.print(Arr[1]);
Serial.print(Arr[2]);
Serial.print("\n");
Serial.print(toSlice[32]);
Serial.print("\nilosc pakietow: ");
Serial.print(packetNumber);
Serial.print("\n");
}
但输出是:
Lorem Ipsum 只是印刷和排版的虚拟 te⸮⸮xtJ
我认为这是因为它占用了太多内存,因为它用这些数据覆盖了我的其他变量。你知道有什么好的解决方案吗?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。