问题描述
- 请问如何才能将本地时间保存成txt文件的文件名
-
我的问题是这样的,容我赘述:我的PC外接一个硬件系统,这个系统会通过我的程序传回相应的测量数值,我实时地保存传回的数值,将他们写在txt文件里面。但是,我现在的程序每次读写的文本文件都是固定的那一个,如果我想保留我上一次测量的数据我就需要打开我的文本文件,Ctrl+A然后Ctrl+C,最后粘贴到另一个文件里,太麻烦。
我希望达到这样的情况:每记录完一次数据,就以本地PC时间为文件名保存成“YYYYMMMMDDDD a=* b=* c=*.txt”的文件,而且这个文件名能传递给其他函数,如传递给fopen等,以备其他需要时使用。
外加一个问题:如果我要修改保存路径,将文件保存在一个绝对路径里,或者一个固定的路径里,应该使用哪个函数呢。
我是初学水平,没学过程序设计或者数据结构这类的计算机课程。水平比较凹。
[code=c]void MotioncaptureSystem10View::On2X32781() //Origin(100,450)
{
// TODO: 在此添加命令处理程序代码
CPoint point;
static CPoint ORIpoint;
char ch[500],rch[400],result[400];
int i=0,len=0,t=0,num=0,clen=0;
memset(ch,0,500);
memset(rch,0,400);
memset(result,0,400);CFile file(_T("Collection of data.txt"),CFile::modeRead | CFile::shareDenyNone ); CFile file2(_T("result.txt"),CFile::modeCreate | CFile::modeWrite | CFile::shareDenyNone); sprintf_s(ch,("2015/02/11 15:01:04 Wednesday 本年第042天 中国标准时间n|数据序列 传感器号| X坐标 Y坐标 Z坐标 A角度 E角度 R角度| 时间|n|-----------------|--------------------------------------------------------|--------------|n")); len=strlen("| 1 [ 0]| 19.521 5.186 5.774: 29.53 -25.18 50.93 | 0.0050|")+2; Erase();//自定义函数 //Coordinate(2);//自定义函数 ORIpoint.x=100;ORIpoint.y=450; Coordinate(X_Z,ORIpoint,1320,820,500);//自定义函数 if(file.Seek(strlen(ch)+1,CFile::begin)) { for(i=0;i<records;i++) { file.Read(rch,len); readtext(rch,len);//自定义函数 point.x=(int)(Dx*10+ORIpoint.x); point.y=(int)(Dz*10)+ORIpoint.y; if(!PaintFork(point))//自定义函数 break; } } file.Close(); file2.Close();
}[/code]
这是我的读取操作,我的写入操作是由fprintf完成的。
我就剩10分,望笑纳。巴萨赢了我就来分了!!
解决方案
获取时间用GetLocalTime() API
然后用sprintf()来格式化字符串、
时间: 2024-07-29 07:20:46