如何比较Pascal中的2个字符串?

时间:2015-10-22 10:47:06

标签: string pascal

所以我有2个字符串,我希望能够说出2个字符串是否相同。唯一的问题是我使用一段时间将字符串1字符填充1,所以如果我使用length / ord它不能正常工作。我想如果你看到我正在使用的代码将有一个更容易帮助我的代码,所以我只是将它粘贴在这里。

var
  cad1, cad2: string;
  car: char;
  icad1, icad2: integer;

begin
  car := 'o';
  icad1 := 1;
  icad2 := 1;

  write('Write the cad1: ');

  while (car<>'.') do begin
    car := readkey;
    cad1 := car;
    write(car);
    inc(icad1);
  end;

  car := 'o';
  writeln;

  write('Write thecad2: ');

  while (car <> '.') do begin
    car := readkey;
    cad2 := car;
    write(car);
    inc(icad2);
  end;

  writeln;
end.

2 个答案:

答案 0 :(得分:2)

您必须这样做:

CompareText(cad1, cad2)

如果两个字符串相同,它将返回0。

http://www.freepascal.org/docs-html/rtl/sysutils/comparetext.html

答案 1 :(得分:0)

您的代码中存在几个问题。例如:行cad1:=car;将字符分配给字符串。这意味着结果字符串只包含一个等于car的字符。以前的所有输入都会丢失。

输入字符串并进行比较的最简单方法如下:

write('Write the cad1: ');
readln(cad1);
write('Write thecad2: ');
readln(cad2);

write(cad1=cad2);
readln;