VC++代码求解

来源:百度知道 编辑:UC知道 时间:2024/05/05 05:55:25
if (database.data[i].number[0] == 0)
{
if (hFile == 0)
{
sprintf(buf, "c:\\key_%d_%d.txt", count, time(0));
hFile = CreateFile(buf, GENERIC_READ | GENERIC_WRITE, FILE_SHARE_READ | FILE_SHARE_WRITE, 0, CREATE_ALWAYS, 0x80, 0);
}
database.count ++;
j ++;
srand((unsigned)time(NULL) + i);
for (k=1; k<13; k++)
dbc.number[k] = (char)(rand() % 10) + 0x30;
dbc.number[k] = 0;
memcpy(&database.data[i], &dbc, sizeof(dbc));
WriteFile(hFile, dbc.number, 13, &dw, 0);
WriteFile(hFile, "\r\n", 2, &dw, 0);
}

这段代码会生成一个.txe的文件名称都是这样的key_1_1209870486.txt格式,我想把最后面的那段数字改成数据库里面的某一条数据的名称,就是显示为例如:key_1_中科院.txt,我要怎么去修改呢?各位大侠!
我怎么取出来数据库里面数据的名称,怎么保存呢?
if (j == count)
{
CloseHandle(hFile);
updata_file();

if(dbc.number[0] == 'G')
{
GDATABASE_CELL gbc;
gb

取出数据库中的数据名称,保存到字符串变量str中,然后
sprintf(buf, "c:\\key_%d_%s.txt", count, str);
就ok了

先用代码把你数据库的记录查出来,然后用scopy()对文件名进行字符串拼接就是啦!

c:\\key_%d_%d.txt
这个变量赋值给一个CString类型的变量,然后用成员Replace()替换里面的数据即可