Thư viện tri thức trực tuyến
Kho tài liệu với 50,000+ tài liệu học thuật
© 2023 Siêu thị PDF - Kho tài liệu học thuật hàng đầu Việt Nam

CHƯƠNG 9 CÁC DÒNG NHẬP/XUẤT VÀ FILE potx
Nội dung xem thử
Mô tả chi tiết
Ch ng 9. Các dòng nh p/xu t và file ươ ậ ấ
CHƯƠNG 9
CÁC DÒNG NHẬP/XUẤT VÀ FILE
Nh p/xu t v i cin/cout ậ ấ ớ
Đ nh d ng ị ạ
In ra máy in
Làm vi c v i File ệ ớ
Nh p/xu t nh phân ậ ấ ị
Trong C++ có s n m t s l p chu n ch a d li u và các ph ng th c ph c ẵ ộ ố ớ ẩ ứ ữ ệ ươ ứ ụ
v cho các thao tác nh p/xu t d li u c a NSD, th ng đ c g i chung là ụ ậ ấ ữ ệ ủ ườ ượ ọ stream
(dòng). Trong s các l p này, l p có tên ố ớ ớ ios là l p c s , ch a các thu c tính đ ớ ơ ở ứ ộ ể
đ nh d ng vi c nh p/xu t và ki m tra l i. M r ng (k th a) l p này có các l p ị ạ ệ ậ ấ ể ỗ ở ộ ế ừ ớ ớ
istream, ostream cung c p thêm các toán t nh p/xu t nh >>, << và các hàm get, ấ ử ậ ấ ư
getline, read, ignore, put, write, flush … M t l p r ng h n có tên ộ ớ ộ ơ iostream là t ng ổ
h p c a 2 l p trên. B n l p nh p/xu t c b n này đ c khai báo trong các file tiêu ợ ủ ớ ố ớ ậ ấ ơ ả ượ
đ có tên t ng ng (v i đuôi *.h). S đ th a k c a 4 l p trên đ c th hi n ề ươ ứ ớ ơ ồ ừ ế ủ ớ ượ ể ệ
qua hình v d i đây. ẽ ướ
Đ i t ng c a các l p trên đ c g i là các ố ượ ủ ớ ượ ọ dòng d li u. M t s đ i t ng ữ ệ ộ ố ố ượ
thu c l p ộ ớ iostream đã đ c khai báo s n ( ượ ẵ chu nẩ ) và đ c g n v i nh ng thi t b ượ ắ ớ ữ ế ị
nh p/xu t c đ nh nh các đ i t ng ậ ấ ố ị ư ố ượ cin, cout, cerr, clog g n v i bàn phím (cin) ắ ớ
và màn hình (cout, cerr, clog). Đi u này có nghĩa các toán t >>, << và các hàm k ề ử ể
trên khi làm vi c v i các đ i t ng này s cho phép NSD nh p d li u thông qua ệ ớ ố ượ ẽ ậ ữ ệ
bàn phím ho c xu t k t qu thông qua màn hình. ặ ấ ế ả
Đ nh p/xu t thông qua các thi t b khác (nh máy in, file trên đĩa …), C++ ể ậ ấ ế ị ư
cung c p thêm các l p ấ ớ ifstream, ofstream, fstream cho phép NSD khai báo các đ i ố
19
ios
istream ostream
iostream
Ch ng 9. Các dòng nh p/xu t và file ươ ậ ấ
t ng m i g n v i thi t b và t đó nh p/xu t thông qua các thi t b này. ượ ớ ắ ớ ế ị ừ ậ ấ ế ị
Trong ch ng này, chúng ta s xét các đ i t ng chu n ươ ẽ ố ượ ẩ cin, cout và m t s ộ ố
toán t , hàm nh p xu t đ c tr ng c a l p ử ậ ấ ặ ư ủ ớ iostream cũng nh cách t o và s d ng ư ạ ử ụ
các đ i t ng thu c các l p ố ượ ộ ớ ifstream, ofstream, fstream đ làm vi c v i các thi t ể ệ ớ ế
b nh máy in và file trên đĩa. ị ư
I. NH P/XU T V I CIN/COUT Ậ Ấ Ớ
Nh đã nh c trên, ư ắ ở cin là dòng d li u nh p (đ i t ng) thu c l p ữ ệ ậ ố ượ ộ ớ istream.
Các thao tác trên đ i t ng này g m có các toán t và hàm ph c v nh p d li u ố ượ ồ ử ụ ụ ậ ữ ệ
vào cho bi n t bàn phím. ế ừ
1. Toán t nh p >> ử ậ
Toán t này cho phép nh p d li u t m t dòng ử ậ ữ ệ ừ ộ Input_stream nào đó vào cho
m t danh sách các bi n. Cú pháp chung nh sau: ộ ế ư
Input_stream >> bi n1 >> bi n2 >> … ế ế
trong đó Input_stream là đ i t ng thu c l p istream. Tr ng h p ố ượ ộ ớ ườ ợ Input_stream là
cin, câu l nh nh p s đ c vi t: ệ ậ ẽ ượ ế
cin >> bi n1 >> bi n2 >> … ế ế
câu l nh này cho phép nh p d li u t bàn phím cho các bi n. Các bi n này có th ệ ậ ữ ệ ừ ế ế ể
thu c các ki u chu n nh : ki u nguyên, th c, ký t , xâu kí t . Chú ý 2 đ c đi m ộ ể ẩ ư ể ự ự ự ặ ể
quan tr ng c a câu l nh trên. ọ ủ ệ
• L nh s b qua không gán các d u tr ng (d u cách <>, d u Tab, d u ệ ẽ ỏ ấ ắ ấ ấ ấ
xu ng dòng ố ↵ ) vào cho các bi n (k c bi n xâu kí t ). ế ể ả ế ự
• Khi NSD nh p vào dãy byte nhi u h n c n thi t đ gán cho các bi n thì ậ ề ơ ầ ế ể ế
s byte còn l i và k c d u xu ng dòng ố ạ ể ả ấ ố ↵ s n m l i trong cin. Các byte ẽ ằ ạ
này s t đ ng gán cho các bi n trong l n nh p sau mà không ch NSD ẽ ự ộ ế ầ ậ ờ
gõ thêm d li u vào t bàn phím. Do v y câu l nh ữ ệ ừ ậ ệ
cin >> a >> b >> c;
cũng có th đ c vi t thành ể ượ ế
cin >> a;
cin >> b;
cin >> c;
và ch c n nh p d li u vào t bàn phím m t l n chung cho c 3 l nh (m i ỉ ầ ậ ữ ệ ừ ộ ầ ả ệ ỗ
d li u nh p cho m i bi n ph i cách nhau ít nh t m t d u tr ng) ữ ệ ậ ỗ ế ả ấ ộ ấ ắ
Ví d 1 ụ : Nh p d li u cho các bi n ậ ữ ệ ế
int a;
20