[帕斯卡尔 – TUT] 帖子 10: 在帕斯卡文件 – 文件类型
1 文件的概念:
[qads]
Type Arr = array[1..100] of integer; {dinh nghia mang Arr} TArr = FILE of Arr; {dinh nghia tep TArr co cac phan tu la mang Arr} TStr = FILE of String[50]; {tep TStr co cac phan tu la chuoi co do dai 50 ky tu} SinhVien = Record Msv, Hoten : String[50]; Diem : real; end; TSv = FILE of SinhVien; {tep TSv gom cac phan tu la kieu SinhVien} Var T1 : TArr; T2 : TStr; T3 : TSv;
- 直接在变量声明变量定义文件
Var T4 : FILE of array[1..100] of real; T5 : FILE of SinhVien;
1. 输入导出到文本文件
对文件的访问将被解释为将数据输入到该文件, 记录的数据上的外部存储设备, 阅读屏幕或打印机上的数据,处理它.
在操作这些文件,我们需要使用的程序分配(bientep, tentep). 这个过程的目的是指定一个磁盘文件 (tentep) 在RAM中的文件中的变量名 (bientep).
- 打开一个新的文件记录:
Assign(bientep, tentep); Rewrite(bientep);
程序 改写 建立以分配指定文件并打开它检索数据lieu.Khi使用命令重写打开文件赋给变量名磁盘文件名,如果磁盘上的文件恰逢名称您. 要小心,当你使用命令重写打开文件.
- 打开文件要放:
Assign(bientep, tentep); Append(bientep);
- 打开读取数据的文件:
Assign(bientep, tentep); Reset(bientep);
注意: 当你与一个复位打开一个文件,如果磁盘上没有文件会导致错误.
CLOSE(bientep);
数据对文件类型变量的条目只是做了如下:
– 阅读使用文件数据的程序 Readln(bientep,好);
– 将数据写入磁盘: 使用过程 Writeln(bientep,好);
例:
uses crt; var t : Text; str : string; BEGIN clrscr; assign(t, 'inputText.txt'); {gan ten bien tep cho tep} rewrite(t); {mo tep de ghi du lieu} writeln(t, 'nguyenvanquan'); writeln(t, '7826'); reset(t); {mo tep de doc du lieu} writeln('Data of file inputText.txt:'); {trong khi con tro tep chua den cuoi tep thi cu doc} while not eof(t) do begin readln(t, str); writeln(str); end; append(t); {mo tep de ghi them du lieu} writeln(t, 'test'); close(t); reset(t); writeln; writeln('Data of file inputText.txt after change:'); {trong khi con tro tep chua den cuoi tep thi cu doc} while not eof(t) do begin readln(t, str); writeln(str); end; close(t); {dong tep} readln; END.
2. 文件类型
正如我们都知道的文件类型的文本输入而引起麻烦,记录数据,如读, 记录的数据 1 学生必须进行非常复杂. 我们可以处理更简单的文件类型.
读写 :
– 写文件: 写(bientep,property.1,bien2 ...); 与bien1,bien2,...具有相同的类型与变量文件变量.
– 阅读文件: 阅读(bientep,property.1,bien2 ...);
注意:
与文本文件, 写入和读出该文件类型不使用writeln命令或文件类型readln装置不写入数据流. 文件类型的元素是在存储单元和唯一的结束符号EOF文件连续地记录. 当我们完成读取或写入文件中的元素时,光标会自动移动到下一个位置.
访问该文件的第i个元素: 寻找(bientep,在); I = 0,1,2,...
程序申请的文件的第i个位置定位光标.
文件处理程序:
* 文件大小(bientep) 指示文件中元素的数量
* FilePos(bientep) 所述文件指针的当前位置
* EOF(Bientep) 值为True如果文件指针指向文件的位置结束, 假向后
例:
uses crt; Type SinhVien = Record MSv, Hoten : String; Diem : real; end; Var TSv : FILE of SinhVien; sv : SinhVien; i : integer; BEGIN clrscr; assign(TSv, 'SV.dat'); rewrite(TSv); for i:= 1 to 3 do {ghi du lieu 3 sinh vien vao tep} begin {nhap du lieu} write('Nhap ma sinh vien thu ', i, ' : '); readln(sv.MSv); write(' Nhap ten sinh vien: '); readln(sv.Hoten); write(' Nhap diem cua sinh vien: '); readln(sv.diem); {ghi du lieu vao tep} write(TSv, sv); end; close(TSv); reset(TSv); {mo tep de doc} writeln; writeln('Thong tin sinh vien thu 2 trong tep:'); seek(TSv, 2); read(TSv, sv); writeln('MSV: ', sv.MSv); writeln('Ho ten: ', sv.Hoten); writeln('Diem: ', sv.diem:3:2); close(TSv); readln; END.
当你打开一个文件,它不会SV.dat找到所需的信息,因为它是用二进制的形式,而不是它的文本,而是信息仍然是准确的.
在文章中引用:
codepascal.blogspot.com
z15.invisionfree.com
哦,让我问安·奎安:如何删除的文件数据的一部分?
其实它不是经过深思熟虑的,而不是试图做的,但你可以通过阅读文件做, 然后记录哪些文件需要.
晚报先生谢谢!
感谢您对博客文章
但我年级学生 8 并准备实施信息学专家,所以他不能告诉我怎么办文件内容,通俗易懂,简单的东西是不是
所有你知道打成呲.
INP VS不同的文件在某个地方,所以他
INP输入文件 (输入)
出了输出中的文件 (产量)
在一个文件中的数据,当程序退出不被删除,他
不删除牛仔舞.
Ë问文件类型没有申报怎么会这样?
我上面的说明了你.
我想从以出口 1 到 3 , 每位参赛者是 1 排;
我的代码 :……
重启(TSV);
对于i = 1到i = 3执行
开始
写(sv.Msv,’ “);
写(sv.Hoten,’ “);
writeln(sv.Diem);
比;
近(TSV);
readln;
但确实只输出最后的选手à ?
该文件命令由于担心没有记录,他们必须.
程序Taptin;
使用CRT;
类型
thisinh =记录
威胁:串[10];
双曲正弦:整数;
Diemthi: 真实;
产量:(trungbinh,喀,奶油,GIOI);
比;
在MTS : thisinh的文件;
在:整数;
恩:thisinh;
开始
clrscr;
分配(MTS,“Thisinh.dat”);
改写(MTS);
为我:= 1至 2 的
开始
写(“输入名称出生收藏家”,在,“:“);
readln(sv.Hoten);
写(“导入男孩:“);
readln(sv.Namsinh);
写(“比赛的切入点:“);
readln(sv.Diemthi);
写(“输入结果:“);
readln(sv.Ketqua);
写(MTS,恩);
比;
近(MTS);
重启(MTS);
writeln;
writeln;
为我:= 1至 2 的
开始
写(sv.Hoten,’ “);
写(sv.Namsinh,’ “);
写(sv.Diemthi:3:2,’ “);
writeln(sv.Ketqua);
比;
近(MTS);
readln;
比.
代码E这里“ . Ë一看它
为什么删除CMT先生 ? Ë只有如何在订单导出文件的问题 ??
我提出了基本的代码, 茶说, 处理器也不知如何. 少图也必须说明如何, 做点什么, 失误了好吗.
让我问为什么的人
寻求(TSV, 2);
读(TSV, 恩);
孩子们如果机器来 0 它发现记录 1; 如果 1 它发现记录 2. 也就是说,它增加 1 不像在他的岗位找到 2 它 2.
房间为孩子总是问. 如何参加代码格式化,因此他的例子爵士的一部分?
我想参考 1 一个Web页面.
Web用户做他们的WordPress, 它的插件,然后.
您看到这篇文章: https://cachhoc.net/2014/06/18/wordpess-hien-thi-code-tren-wordpress-voi-syntax-highlighted-posting-source-code-on-wordpress-with-syntax-highlighted/
Web用户做他们的WordPress, 它的插件,然后.
您看到这篇文章: https://cachhoc.net/2014/06/18/wordpess-hien-thi-code-tren-wordpress-voi-syntax-highlighted-posting-source-code-on-wordpress-with-syntax-highlighted/
贵重的, e不要永远没有结果DJK先生:
计划Khoang_Cach;
有d:真实;
˚F: 文本;
X,和: 整数;
开始
分配(˚F,’ TRAI.TXT“);
重启(˚F);
虽然不是EOF(˚F) 的
开始
阅读(˚F,X,和);
ð:=开方(X * X + Y * Y);
Writeln(‘ 距离:“, ð:10:2)
结束;
关(˚F)
Readln;
结束.
Mong ad giúp vs tìm e lỗi và sửa lại giúp e
Cái này phải xem trong file bạn có dữ liệu chưa. Thử debug xem nó thế nào?
关(˚F) thiếu dấu ;
muốn mở tiệp ra và ghi giá trị vào cuối cùng của biến có kiểu thì sao? Không sử dụng đc Append?
thế làm sao để đọc dữ liệu văn bản trong tệp
ở trên anh mới hướng dẫn đọc dữ liệu số thôi
Có đọc text ở trên rồi mà 🙂
你一定要看到文件TRAI.TXT可以在输入数据不? 没有正确?
Ë问: BTVN của e như sau: tính 1/1+2 +1/2+3 + 1/3+4 +…+1/(N-1)+ñ, e编写程序如下:
水晶程序;
使用CRT;
我,ñ: 整数;
S: 真实;
开始
clrscr;
写(‘输入数字n: “); Readln(ñ);
S:= 0;
孔:= 1到n如果我修改 2 0 然后S:= S + 1 /((I-1)+在);
writeln(‘ Tong la: “,S + 2018 :5:0);
readln
比.
我写这样的程序,但是当我运行任何数字时,它都会产生结果 2019 过度
看,帮我看看我错了?
帮我
为什么固定 2018 在输出?