Chuyển Đổi Dữ Liệu
Chào mừng các bạn đến với blog: Phát triển phần mềm 123az.
Trong bài viết này tôi sẽ tổng hợp lại các đoạn mã code được sử dụng để chuyên đổi các kiểu dữ liệu qua lại lẫn nhau như sau:
Chuyển đổi string sang char và ngược lại
Chuyển đổi int, float sang string
Chuyển đổi string sang CString của MFC
Và nhiều hơn nữa.
String to char* | Cách 1: (VS 2012 báo lỗi ko an toàn, định nghĩa macro: _CRT_SECURE_NO_WARNINGS để hết lỗi) std::string str(“hello ”); char* ch = new char[str.length()]; strcpy(ch, str.c_str()); cách 2: std::string str("hello"); char* ch = (char*)str.c_str(); cách 3: std::string str ="Phattrienphanmem123az"; int n_size = str.size(); char * ch_str = new char[n_size + 1]; for (int i = 0; i < n_size; i++) { ch_str[i] = (char)str.at(i); } ch_str[n_size] = '\0'; // Đừng quên giải phóng cấp phát sau khi dùng xong. delete[] ch_str; |
std:string to CString (MFC) | std:string str("Phattrienphanmem123az"); CString cstrs = _T(""); cstrs = str.c_str(); |
std::string to wchar_t | std::string str(“phat trien phan mem”); int index = 0; int count = str.size(); wchar_t *ws_str = new wchar_t[count + 1]; while (index < count) { ws_str[index] = (wchar_t) str[index]; index++; } ws_str[index] = ‘\0’; |
std::string to std::wstring | std::str (“passion pham”) std::wstring(str.begin(), str.end()); |
std::string to int | std::string my_str(“45”); int val = atoi(my_str.c_str()); |
std::string to float (double) | std::string numStr = “0.6”; double val = ::atof(numStr.c_str()); |
std::string to LPCTSTR | std::string strs(“Welcome”); CA2T str(str.c_str()); |
CString to char* | CString file_name = _T(“file_data.txt”); long nSize = file_name.GetLength(); char* str = new char[nSize]; memset(str, 0, nSize); wcstombs(str, file_name, nsize + 1); |
CString to wchar_t* | CString str = L"damme88.com wellcome" ; const WCHAR* pb = reinterpret_cast(str.GetString()); |
CString to std::string | CString strVal = L"Hello"; std::string str = CStringA(strVal); |
CString to std::wstring | CString str = _T(“Welcome”); std::wstring wstr(str.Getstring()); |
CString to int | CString strVal = _T(“123”); int kVal = _tstoi(strVal); |
CString to float | CString pi = “3.1415”; float var = _ttof(pi); |
char* to CString | char* ch = “hello”; CString str(ch); |
char* to std::string | char a[] = {“welcome to phat trien phan mem”}; std::string myStr = std::string(a); |
char* to int | const char* chVar = “1”; int val = atoi(chVar); |
int to char | char ch[5]; itoa(8, ch, 10); |
wchar_t* to std::string | std::string WcharToString(wchar_t* wch) { std::string str(“”); int index = 0; while (wch[index] != 0) { str += (char)wch[index]; ++ index; } return str; } |
wchar_t* to std::wstring | wchar_t* wch = _T(“Welcome”); std::wstring wstr = (std::wstring) wch; |
wchar_t to CString | wchar_t *p = _T(“ This is cpp”); CString str(p); |
std::wstring to std::string | std::wstring wstr = “Hellow”; std::string str(wst.begin(), wst.end()); |
std::wstring to CString | std::wstr wst; CString str(wst.c_str()); |
_________________________________________________
Pass Pham