我正在尝试将这个2d char数组转换为String。问题是它输出的是100,000个字符,即使输入数组也没有。将2d char数组转换为字符串的正确方法是什么?
buff = (unsigned char *) skb->data;
for (i=0;i<60;i++) printk("%d.", buff[i]);
printk("\n");
答案 0 :(得分:3)
你的内循环有问题,而且我也没有看到你实际上是从2D角色数组中隐藏了一个字符串。这是内循环的问题:
for (int j=0; i < maze[i].length; j++) {
// ^^^^ this will always be true for certain values of i
// it should be j < maze[i].length
s= maze.toString();;
}
换句话说,你的内环可能永远在旋转,这取决于迷宫的界限。相反,请尝试以下代码:
public String printMaze(char[][] maze) {
String s = "";
for (int i=0; i < maze.length; i++) {
for (int j=0; j < maze[i].length; j++) {
s += maze[i][j];
}
// uncomment next line if you want the maze to have rows
// s += "\n";
}
return s.toString();
}
但正如@ElliottFrisch所提到的,你可以返回Arrays.deepToString(maze)
。
答案 1 :(得分:-1)
希望这会有所帮助..
-webkit-overflow-scrolling: auto;