MFC中多个edit 与CString 关联的问题

 三个Edit Box与三个不同的CString变量s1,s2,s3关联。如下:

Edit1 ----- s1

Edit2 ----- s2

Edit3 ----- s3

 

三个CString的值从一个文本文件中读取。其中,读取文件是用C语言的读文件格式读取的。而文件中三个值是不同的。

问题:

每次更新数据的时候,三个值永远都是一样的。 调试发现,每次读一个值,s1,s2,s3都被赋值。导致三个值永远都一样。

 

解决:

由于读文件是用C语言来读的。但是CString是MFC中的类型。所以导致出现这样的问题。

 

先声明三个char数组。分别临时保存这三个值。然后再转换成CString类型。 

 

示例:

 

  1. char *dst_file="D:/test.txt"
  2.     if(!access(dst_file,0)) 
  3.     { 
  4.         //文件存在 
  5.  
  6.         FILE *fl_dst; 
  7.         fl_dst=fopen(dst_file,"r"); 
  8.  
  9.  
  10.         char c1[30]; 
  11.         char c2[30]; 
  12.         char c3[30]; 
  13.              
  14.         fscanf(fl_dst,"%s",c1); 
  15.         s1.Format(_T("%s"),c1); 
  16.              
  17.         fscanf(fl_dst,"%s",c2); 
  18.         s2.Format(_T("%s"),c2); 
  19.              
  20.         fscanf(fl_dst,"%s",c3); 
  21.            s3.Format(_T("%s"),c3); 
  22.  
  23.         UpdateData(FALSE); 
  24.  
  25.         if(fl_dst!=0) 
  26.         { 
  27.             fclose(fl_dst); 
  28.             fl_dst=0
  29.         } 
  30.               
  31.     } 
  32.     else 
  33.     { 
  34.          
  35.     } 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章