我希望能够从文本文件中加载地图(如果您有任何其他将地图加载到数组的方法,我很乐意尝试新的方法)。
在文本文件中写入的内容类似于以下内容,但规模更大。
6 6 10 (Nevermind what this number "10" is but the two other are the map size.)
1 1 1 1 1 1
1 0 2 0 0 1
1 0 0 0 2 1
1 2 2 0 0 1
1 0 0 0 0 1
1 1 1 1 1 1
1代表边界,0代表空,2代表墙壁。现在我想读取这个文本文件,但不确定哪种方法最好。
- 用stringstream一次性读取整个文本文件,然后通过rdbuf()将其转换为字符串,然后分割字符串并放入数组中。
- 使用getline()逐个读取数字。
- 使用>>运算符逐个读取数字。
我的问题是,在内存使用和速度方面,哪种方法更好(或其他可用的方法)。注:是否使用rdbuf()是一个好方法。我很感激对不同字符串分割方式进行良好比较的建议,例如根据空格拆分文本成单词。