<string.h> = <cstring> != <string>C++ Code:
#include <iostream> #include <string> int main() { std::string my_name = "rox_rook"; return 0; }
Em có viết ctr xử lý chũi (mới học tới phần chũi thôi) như sau:
1. Nhập vào 1 chũi (ví dụ tên ai đó), so sánh với chũi cho trước (ví dụ: Hong; Huong; hay gì gì đó cũng đc) if đúng thì ra thông báo gì đó (tùy mình muốn) nhưng bị báo lỗi khai báo biến.
2. Cũng chũi tên đó (ví dụ: Tran Van An) trích ra tên An vào 1 biến mới. Làm sao hả các bác?
Trên tiền xử lý e có #include<string.h>
bên dưới khai báo: string Name;
nhưng nó báo khai báo biến Name ko hợp lệ.
Em xài Visual C++ 6.0
Bác nào chỉ e cái! Thanks nhìu nhìu!
Đã được chỉnh sửa lần cuối bởi Chuong : 09-06-2008 lúc 10:56 AM.
<string.h> = <cstring> != <string>C++ Code:
#include <iostream> #include <string> int main() { std::string my_name = "rox_rook"; return 0; }
à include<string>
xong khai báo biến bằng cách sdt::string Name đc rồi.
giờ sao nhập giá trị vào biến hả bác? Em thấy bác dùng std::cout<< để xuất ra nên e chế std::cin>> nhưng xài ko đc. Truy xuất biến cách nào nữa bác? Thanks for help!
Nếu bạn dùng MFC thì trong MFC có lớp CString rồi nó hỗ trợ tất cả các hàm mà bạn cần, bạn có thể tham khảo thêm trong MSDN(với từ khóa là CString).
chúc bạn thành công
Sử dụng CString với các methods như là: find, compare, mid là xong mấy yêu cầu của bạn. Bạn tra trên MSDN đi.
Một người nào đó coi thường ý thức kỷ luật cũng có nghĩa là người đó đã coi thường tương lai số phận của chính bản thân người đó.Email: kevin[@]congdongcviet.com | CC to: info[@]congdongcviet.com
Phone: 0972 89 7667
Những người coi thường ý thức kỷ luật sẽ không bao giờ có được sự thành công trong sự nghiệp hoặc bị sự thiếu kỷ luật làm tiêu tan sự nghiệp.
Mình chưa hiểu lắm về câu hỏi của bạn có phải là bạn muốn editbox của bạn chỉ nhập được tối đa 5 ký tự thôi phải không:
trong hàm OnInitDialog bạn thêm đoạn code sau:
C Code:
CWnd *pWnd = new CWnd(); //khoi tao mot con tro kieu CWnd pWnd = GetDlgItem(IDC_EDIT2); // lay dia chi cua IDC_EDIT2 pWnd->SendMessage(EM_SETLIMITTEXT,5,0);//gioi han la 5 ky tu
cách thứ 2:
bắt event EN_CHANGE của IDC_EDIT2 OnChangeEdit2() bạn thêm đoạn code sau:
C Code:
CString strText; GetDlgItemText(IDC_EDIT2,strText); // lấy đoạn text trên edit2 gán vào biến strText if(strText.GetLength()>5) // kiểm tra nếu hơn 5 ký tự { MessageBox(_T("Edit khong duoc qua 5 ky tu"),_T("Thong bao"));//la lên cho người dùng biết strText.Delete(5,1); // xóa 1 phần tử tại vị trí thứ 5 SetDlgItemText(IDC_EDIT2,strText); // set lại text cho biết edit2 return; }
chi tiết các hàm và lớp đối tượng tham khảo thêm trong MSDN...
chúc bạn thành công...