【发布时间】:2015-05-12 20:25:59
【问题描述】:
在我的程序中,我有一个时钟计时器,我需要将它保存到一个 char 数组 [10] 中,然后将其实现到我的 highscore 函数中。通过我的程序,我已经有了一个格式化的时间。例如,如果时钟的秒数低于十,我必须添加一个零。所以,0:02,如果时钟的秒数大于 10,它保持正常。而不是我在我的结构中使用两个 int 变量,我怎样才能将一个字符串写入我的文本文件?例如,让我们编写一个名为 string clocksTime = "0:15" 的字符串。请注意,它已经被格式化。这是我的代码:
struct highscore
{
// *Want* Change these two int values to a string
int clockMin;
int clockSec;
};
...[Code]…
// Change the two variables to have it instead, data[playerScore].clock = clocksTime
data[playerScore].clockMin = clockData.minutes;
data[playerScore].clockSec = clockData.seconds;
_strdate(data[playerScore].Date);
// Write the variables into the text file
streaming = fopen( "Highscores.dat", "wb" );
fwrite( data, sizeof(data), 1 , streaming);
【问题讨论】:
-
为什么不按原样保存结构?如果您必须再次加载文件,您可以将其加载到同一个结构中不是很好吗?让数据成为数据,让呈现成为呈现。
-
fprintf 有什么问题,或者,如果你真的想要它在一个字符串中,snprintf?还是 C++ iostreams/stringstream?
-
使用
std::string而不是char的数组要容易得多。你可以使用std::string吗? -
@FabioTurati,唯一的问题是当我使用字符串时出现错误。