String 如何在Pascal中读取同一行中的两个字符串?
我试图从pascal中的同一行读取两个字符串变量。String 如何在Pascal中读取同一行中的两个字符串?,string,line,pascal,String,Line,Pascal,我试图从pascal中的同一行读取两个字符串变量。 两个字符串之间用空格分隔 我试着把它像一个字符串一样读,然后把它分成两部分,但后来我遇到了一个问题,因为这个字符串大于255个字符 以下是我试图读取的字符串: KYGOWPlobzvgynmdPjUwphfSttipuwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjrTzEF MKhrygowPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPj
两个字符串之间用空格分隔 我试着把它像一个字符串一样读,然后把它分成两部分,但后来我遇到了一个问题,因为这个字符串大于255个字符 以下是我试图读取的字符串: KYGOWPlobzvgynmdPjUwphfSttipuwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjrTzEF MKhrygowPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPj` 行的长度不总是相同的,并且空白空间不在同一位置 我试图弄清楚,如果从第二个字符串中删除一些字符,是否可以得到第一个字符 示例:字符串asgassaroigfnfdsg
答案应该是肯定的 下面是检查这一点的代码
q:=1;
for m:=1 to length(b) do
begin
if b[m] = a[q] then
q:=q+1;
end;
q:=q-1;
writeln(q);
if q = length(a) then
writeln('YES')
else
writeln('NO');
其中a是第一个字符串,b是第二个字符串
我将第一个大字符串作为一个变量读取,然后将其分为两部分。当第一个字符串大于255个字符时,就会出现问题。这就是为什么我想知道如何从同一行中读取两个字符串 我用于分隔字符串的代码:
readln(x);
x:=LONGSTRINGHERE;
blank:=' ';
Location := Pos(blank, x);
a:=Copy(x, 1, (Location-1));
b:=Copy(x, (Location+1), length(x));
与其使用
readln()
读取整行,不如使用read()
和char
类型的变量,一次读取第一个字符串中的一个字符,直到检测到空格,然后读取第二个字符串。而不是使用readln()
要阅读整行内容,您可以使用read()
使用类型为char
的变量,一次读取第一个字符串中的一个字符,直到检测到一个空格,然后读取第二个字符串。您可以使用freepascal编译器并将字符串替换为最多2^16=65536个字符的ansistring。您可以使用freepascal编译器并将字符串替换为ansistring最多可包含2^16=65536个字符。欢迎使用StackOverflow。这行文字有多长?你从哪里得到的?空格是否总是在同一个位置(例如,x字符)?你能发布到目前为止你尝试过但不起作用的代码吗?粘贴一个长字符串和对问题的一个非常简短的描述不会给你带来太多的麻烦,在这里,你最好先表现出你自己解决问题的努力。你能编辑你的问题并提供一些额外的信息吗?谢谢。:)欢迎来到StackOverflow。这行文字有多长?你从哪里得到的?空格是否总是在同一个位置(例如,x字符)?你能发布到目前为止你尝试过但不起作用的代码吗?粘贴一个长字符串和对问题的一个非常简短的描述不会给你带来太多的麻烦,在这里,你最好先表现出你自己解决问题的努力。你能编辑你的问题并提供一些额外的信息吗?谢谢。:)