问题描述
我需要编写函数将我的大字符串拆分为最大大小为 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 (将#修改为@)