主题:有两个题不懂,快教教我!!!!!!
本人上初一,刚学文件操作,现在有两个题不懂,请大家教一下。
1、对比两文件是否相同,是则打ok,否则打not.
看看我的:
program compare;
var
f1,f2:text;
chr1,chr2:char;
fn1,fn2:string;
begin
read (fn1,fn2);
assign (f1,fn1);
assign (f2,fn2);
reset (f1);
reset (f2);
repeat
read (f1,chr1);
read (f2,chr2);
until (chr1<>chr2) or ((eof(f1)) and (eof(f2)));
close (f1);
close (f2);
if chr1<>chr2 then write ('not') else write ('ok');
end.
但是我不管fn2输了什么,watch中的fn2总是一个空格,不知道怎么回事。
2、把一个文件的a全换成b.
我的程序:
program a2b;
var
inf,outf:text;
chr:char;
inn,outn:string;
begin
read (inn);
read (outn);
assign (inf,inn);
assign (outf,outn);
reset (inf);
rewrite (outf);
while not eof(inf) do
begin
read (inf,chr);
if chr='a' then write (outf,'b') else write (outf,chr);
end;
close (inf);
close (outf);
end.
结果调试时,只能输入inn,outn无法输入,用step over看时,读完inn就跳到后面去了,真不知道为什么。
请大家快给出答案!!!!!
1、对比两文件是否相同,是则打ok,否则打not.
看看我的:
program compare;
var
f1,f2:text;
chr1,chr2:char;
fn1,fn2:string;
begin
read (fn1,fn2);
assign (f1,fn1);
assign (f2,fn2);
reset (f1);
reset (f2);
repeat
read (f1,chr1);
read (f2,chr2);
until (chr1<>chr2) or ((eof(f1)) and (eof(f2)));
close (f1);
close (f2);
if chr1<>chr2 then write ('not') else write ('ok');
end.
但是我不管fn2输了什么,watch中的fn2总是一个空格,不知道怎么回事。
2、把一个文件的a全换成b.
我的程序:
program a2b;
var
inf,outf:text;
chr:char;
inn,outn:string;
begin
read (inn);
read (outn);
assign (inf,inn);
assign (outf,outn);
reset (inf);
rewrite (outf);
while not eof(inf) do
begin
read (inf,chr);
if chr='a' then write (outf,'b') else write (outf,chr);
end;
close (inf);
close (outf);
end.
结果调试时,只能输入inn,outn无法输入,用step over看时,读完inn就跳到后面去了,真不知道为什么。
请大家快给出答案!!!!!