我的問題是這樣的,容我贅述:
我的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()來格式化字符串、