三个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
- {
- }