[英]CString to Edit Control in MFC
所以我正在將數據從.txt文件檢索到myclass(類),包括
public:
vector<int> ID
vector<string> name
vector<string> add
但是,當我嘗試訪問它們以在MFC dlg的編輯框中顯示它們時,它將返回此框:
ID: 1
Name: (jibberish)
address: (jiberish)
ID: 2
Name: (jibberish)
address: (jiberish)
etc...
for循環中的編輯控制框中使用的代碼
int s1;
CString s2, s3;
s1.Format(_T("\r\nID: %d"),myclass.ID[i]);
s2.Format(_T("\r\nName: %s"),myclass.name[i]);
s3.Format(_T("\r\nAddress: %s"),myclass.add[i]);
Edi_box += s1 + s2 + s3;
因此它讀取整數的向量,但不讀取字符串的向量
您不能(或至少不應)使用%s
格式化std::string
。 嘗試這個:
s2.Format( _T("\r\nName: %s"), myclass.name[i].c_str() );
並對其他std::string
變量同樣進行。
_T
宏將創建一個wchar_t字符串或一個char字符串,具體取決於VS項目的字符集設置。 為了將std::string
(基於字符)格式化為其中之一,您必須使用正確的轉換。 Microsoft提供了對“正常” printf()
樣式語法的擴展,該擴展受許多功能支持:使用%ls
插入wchar_t字符串,並使用%hs
插入char字符串。
筆記:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.