Câu hỏi của Vu Dao Anh Tuan

Kiểu char* trong C++

Mình có đoạn code sau: char *s = new char[5]; cin.getline(s,100); cout<<s<<endl; cout<<strlen(s); Cho mình hỏi tại sao biến s chỉ xin cấp phát 5 phần tử nhưng khi mình nhập lớn hơn 5 phần tử thì nó vẫn nhận, và in ra chuỗi đã nhập. Như vậy có bị lỗi bộ nhớ không

Vu Dao Anh Tuan viết 10:18 ngày 01/10/2018 chỉnh sửa

Xử lí lỗi trong hàm trả có trả về giá trị

Ví dụ mình có lớp ma trận: class Matran{ private: int h,c; int *a; public: // các hàm khởi tạo, hủy, in mat trận Matran(int nh, int nc){ h=nh, c=nc; a = 0; } ... } Bây giờ mình muốn viết hàm cộng 2 ma trận: Matran cong(Matran const &ma, Matran ...

Vu Dao Anh Tuan viết 10:02 ngày 01/10/2018 chỉnh sửa

Bị mất kí tự khi dùng cin.ignore()

Cho mình hỏi tại sao khi chạy đoạn chương trình sau thì xâu s bị mất 5 kí tự: int main(){ string s; cin.ignore(5); getline(cin,s); cout << s <<endl; return 0; }

Vu Dao Anh Tuan viết 09:33 ngày 01/10/2018 chỉnh sửa

Địa chỉ con trỏ

Mình có đoạn code sau: #include <iostream> using namespace std; int main(){ int *p = new int; cout<<p<<endl<<&p; return 0; } Cho mình hỏi tại sao địa chỉ mà p lưu trữ (nằm trên heap) chỉ có 7 chữ số hex, còn địa chỉ của p (nằm trên stack) lại có 8 chữ số ...

Vu Dao Anh Tuan viết 09:32 ngày 01/10/2018 chỉnh sửa

Khác nhau giữa Pipeline và xargs

Cho mình hỏi tại sao dùng pipe line thì lệnh ls lại in hết các file và thư mục (trong thư mục play) còn dùng xargs thì nó chỉ in các file với tên bắt đầu bằng f. Trong trường hợp đầu, mình nghĩ sau khi thực thi lệnh find thì nó tìm được 5 file, sau đó chuyển 5 file này thành input của lệnh ls thì ...

Vu Dao Anh Tuan viết 09:31 ngày 01/10/2018 chỉnh sửa

Nhập xuất trong C++

Khi đọc file thì mình cần dùng: ifstream fi; fi.open("DATA.INP"); int a; fi>>a; Có cách nào để chuyển chế độ nhập chuẩn thành chế độ nhập file không, nghĩa là mình dùng trực tiếp cin>>a; thì nó đọc luôn từ file mà không phải từ bàn phím. Trong Pascal thì mình dùng ...

Vu Dao Anh Tuan viết 08:13 ngày 01/10/2018 chỉnh sửa
1