主题:pascal中关于文件的问题
designer2007
[专家分:0] 发布于 2007-08-25 19:29:00
请问pascal中文本文件(text)中的回车换行符和行结束符是一回事吗?
[em8]
回复列表 (共3个回复)
沙发
designer2007 [专家分:0] 发布于 2007-08-25 20:14:00
从键盘输入一段正文,将它复制到指定的磁盘文件中,然后再在显示器上输出。
[问题分析]
(1)从键盘输入正文,需逐个输入字符,且按行存储,每行用回车键结束;
(2)当文件写结束时,加一个文件结束标志(ctrl+z),再用close关闭文件;
(3)打开此文件,逐个读取字符,并显示在屏幕上。
程序如下:
program p9_1(input,output);
var
ch:char;
str1:string[15];
file1:text;
begin
write('please input a file name:');
readln(str1); {输入文件名、建立新文件}
assign(file1,str1); {将内部变量名与外部文件建立关联}
rewrite(file1); {以写状态打开该文件,准备写入}
while not eof do {文件未结束(即未从键盘输入ctrl+z)就写一行}
begin
while not eoln do{一行未结束(即未从键盘输入一个回车换行符)就继续写}
begin
read(ch);
write(file1,ch); {将ch写入文件中}
end;
readln; {键盘上换一行}
writeln(file1); {写一个行结束符到文件中}
end;
close(file1); {写文件结束,关闭文件}
writeln; {屏幕换行}
reset(file1); {以读状态再次打开该文件}
while not eof(file1) do {从文件读取数据,直到遇到文件结束符为止}
begin
while not eoln(file1) do {读取一行数据}
begin
read(file1,ch); {从文件中读一个字符给ch}
write(ch:3); {将ch输出到屏幕上}
end;
readln(file1); {遇到回车换行符就换一行继续读}
writeln; {屏幕换行}
end;
close(file1); {读文件结束,关闭文件}
end.
运行程序后,从键盘上输入三行字符
abcde
abcdef
abcdefg
按照这道程序的话每行后面有几个行结束符呢?[em10]
板凳
Matodied [专家分:7560] 发布于 2007-08-26 11:36:00
应该是一回事。
3 楼
maxumi [专家分:2200] 发布于 2007-08-28 13:12:00
回车换行符是chr(13), 行结束符是chr(10).
每个文本文件的换行处都是chr(13)+chr(10).
以上
我来回复