我有一个纯文本文件,其中只有数字(没有空格、逗号、换行符等),其中包含n 个数字,范围从 0 到 255。我想把它放进去并将这些值存储在一个数组中。
例子
假设我们在文件中有这个序列:
581060100962552569
我想像这样接受它,in.read
文件输入流在哪里,tempArray
是一个最多包含 3 个变量的本地数组,每次存储内容时都会擦除它endArray
,这是我希望最终值去的地方:
in.read tempArray endArray
5 [5][ ][ ] [] //It reads in "5", sees single-digit number X guarantees that "5X" is less than or equal to 255, and continues
8 [5][8][ ] [58] //It reads in "8", realizes that there's no number X that could make "58X" smaller than or equal to "255", so it stores "58" in endArray
1 [1][ ][ ] [58] //It wipes tempArray and reads the next value into it, repeating the logic of the first step
0 [1][0][ ] [58] //It realizes that all single-digit numbers X guarantee that "10X" is less than or equal to "255", so it continues
6 [1][0][6] [58][106] //It reads "6" and adds "106" to the endArray
0 [0][ ][ ] [58][106] //It wipes tempArray and stores the next value in it
1 [0][1][ ] [58][106]
0 [0][1][0] [58][106][10] //Even though all single-digit numbers X guarantee that "010X" is less than or equal to "255", tempArray is full, so it stores its contents in endArray as "10".
0 [0][ ][ ] [58][106][10]
9 [0][9][ ] [58][106][10]
6 [0][9][6] [58][106][10][96] //Not only can "96" not have another number appended to it, but tempArray is full
2 [2][ ][ ] [58][106][10][96]
5 [2][5][ ] [58][106][10][96] //There are numbers that can be appended to "25" to make a number less than or equal to "255", so continue
5 [2][5][5] [58][106][10][96][255] //"5" can be appended to "25" and still be less than or equal to "255", so it stores it in tempArray, finds tempArray is full, so it stores tempArray's values in endArray as "255"
2 [2][ ][ ] [58][106][10][96][255][37]
5 [2][5][ ] [58][106][10][96][255][37] //There are numbers that can be appended to "25" to make a number less than or equal to "255", so continue
6 [6][ ][ ] [58][106][10][96][255][37][25] //It sees that adding "6" to "25" would make a number that's larger than 255, so it stores "25" in the endArray and remembers "6" in the tempArray
9 [6][9][ ] [58][106][10][96][255][37][25][69] //It sees that there is no number X such that "69X" is less than "255", so it stores "69" in endArray
有谁知道我怎样才能完成这种行为?请尽量将您的答案保留在伪代码中,以便可以将其翻译成多种编程语言