/ b bằng 4 ,c bằng 4;
Chương trình sau tạ o2 tệp có tên là vb và np Trong chương trình dùng các hàm:
np. Trong chương trình dùng các hàm:
fopenđểmởtệp
fputcđểghi một ký tựlên tệp
fcloseđểđóng tệp
98.2.3. Ví dụminh họa 1 (tiếp) 8.2.3. Ví dụminh họa 1 (tiếp)
#include<stdio.h> void main(){
FILE *fvb, *fnp; //Khai báo 2 biến con trỏtệp
fvb = fopen("vb","wt"); //Mởtệp vbđểghi theo kiểu văn bản
fnp = fopen("np","wb"); //Mởtệp npđểghi theo kiểu nhịphân // Ghi các ký tựlên tệp fvb
fputc('A',fvb); fputc(26,fvb); fputc(10,fvb); fputc('B',fvb);
// Ghi các ký tựlên tệp fnp
fputc('A',fnp); fputc(26,fnp); fputc(10,fnp); fputc('B',fnp); fclose(fvb);
fclose(fnp); }
108.2.3. Ví dụminh họa 1 (tiếp) 8.2.3. Ví dụminh họa 1 (tiếp)
Kết quả: Tệp vb có các ký tự ứng với các mã: 65 26 13 10 66 Tệp np có các ký tự ứng với các mã: 65 26 10 66 Chú ý: nếu dùng kiểu văn bảnđểđọc tệp vb hay tệp np thì ta chỉnhậnđược một ký tựđầu (mã 65) vì khi gặp ký tự thứhai (mã 26) thì ta nhậnđược mã kết thúc tệp. muốnđọc tất cảcác ký tựcủa tệp, ta cần dùng hàm
fgetc theo kiểu nhịphân.
118.2.4. Ví dụminh họa 2 8.2.4. Ví dụminh họa 2
Xét chương trình sau:#include<stdio.h> #include<stdio.h>
void main(){
FILE *f; // Khai báo biến con trỏtệp
f = fopen("sl","wt"); //Mởtệp slđểghi theo kiểu văn bản // Ghi 3 dòng lên tệp f
fprintf(f,"%2d\n%2d\n%2d",56,7,8); fclose(f); // Đóng tệp
}
128.2.4. Ví dụminh họa 2 (tiếp) 8.2.4. Ví dụminh họa 2 (tiếp)
Hàm fprintf() đưa kết quảra tệp theo cách như
hàm printf() đưa ra màn hình. Vì tệp f mởtheo kiểu văn bản nên ký tựxuống dòng '\n' được ghi thành 2 mã 13 và 10. Kết quảlà 10 ký tự ứng với các mã sauđược ghi lên tệp:
53541310325513103256
trongđó: 53là mã của chữsố5, 54là mã của chữsố6, 13làCR, 10làLF, 32là mã củakhoảng trống, 55là mã của chữsố7, 56là mã của chữ
138.2.4. Ví dụminh họa 2 (tiếp) 8.2.4. Ví dụminh họa 2 (tiếp)
Nếu dùng trình soạn thảo văn bản (ví dụnotepad) đểmởtệp trên thì ta sẽnhìn