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.     } 

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