我已经做了大约一个小时左右的研究,但我找不到一个对我有用的方法,我实际上理解,因为我不了解缓冲区是如何工作的。我已经尝试过to_string方法,我已经尝试过.append()方法,显然,这是一个简单的连接方法。
我的代码:
fileLog[fileLogIndex].append(playerTurn+":"+moveColumn);
//fileLog[fileLogIndex] += playerTurn && ":" && moveColumn && ", ";
因此。这个或者我的想法的目的是跟踪我今天写的连接4游戏中的每一个动作。这应该以上述格式附加每一步。 PlayerTurn存储为int,1为播放器1,2,播放器2,moveColumn变量是用户选择放置其片段的列。如果玩家1将一篇文章放入第4列,那么我们的想法是追加" 1:4,"到变量然后将该行写入文件。
正如你所看到的,我已经尝试了一些方法,比如追加,即使你看不到,我也尝试过to_string()方法,但是我得到了一个错误,或者" 1:1"在dos窗口中给我一个笑脸,或在打开文件时在notepad ++中给我一个空白。
我不想使用我不理解的方法,所以如果这是另一个帖子的重复,我很抱歉,我只是厌倦了盯着这一行代码和无法使用我正在尝试的方法。如果我必须使用缓冲区来执行此操作,那很好,但有人可以用新手的方式向我解释每条线路在做什么吗?
为了记录,我正在使用Visual Studio 2010,而且我90%确定我没有C ++ 11,我在某处读到的是to_string不能工作的原因对我来说... ..
答案 0 :(得分:2)
C ++实现此目的的方法(即,不使用C' s缓冲区和sprintf
)不使用C ++ 11 to_string
是通过构建使用ostringstream
:
#include <sstream>
ostringstream out;
out << playerTurn << ":" << moveColumn;
fileLog[fileLogIndex] += out.str();