三個Edit Box與三個不同的CString變量s1,s2,s3關聯。如下:
Edit1 ----- s1
Edit2 ----- s2
Edit3 ----- s3
三個CString的值從一個文本文件中讀取。其中,讀取文件是用C語言的讀文件格式讀取的。而文件中三個值是不同的。
問題:
每次更新數據的時候,三個值永遠都是一樣的。 調試發現,每次讀一個值,s1,s2,s3都被賦值。導致三個值永遠都一樣。
解決:
由於讀文件是用C語言來讀的。但是CString是MFC中的類型。所以導致出現這樣的問題。
先聲明三個char數組。分別臨時保存這三個值。然後再轉換成CString類型。
示例:
- char *dst_file="D:/test.txt";
- if(!access(dst_file,0))
- {
- //文件存在
- FILE *fl_dst;
- fl_dst=fopen(dst_file,"r");
- char c1[30];
- char c2[30];
- char c3[30];
- fscanf(fl_dst,"%s",c1);
- s1.Format(_T("%s"),c1);
- fscanf(fl_dst,"%s",c2);
- s2.Format(_T("%s"),c2);
- fscanf(fl_dst,"%s",c3);
- s3.Format(_T("%s"),c3);
- UpdateData(FALSE);
- if(fl_dst!=0)
- {
- fclose(fl_dst);
- fl_dst=0;
- }
- }
- else
- {
- }