我正在研究 Pascal-to-C 端口,两种语言在处理字符串方面的不同方式已成为一个令人沮丧的问题。
如果我声明一个A
大小为 Pascal 的字符数组x
并将其作为输入参数传递给一个函数,该函数的输入参数定义为大小为 xz 的字符数组 B,其中 z 是一个正整数,那么一旦 Pascal 在函数内部,它会做什么? 数组 A 是否被截断而 B 在函数内部被视为大小为 xz?
原始源代码的编写方式似乎表明它是这样工作的,但我对 Pascal 不熟悉。
我不能发布代码,因为它是专有的,我也不太了解 Pascal 语法。但是,这将是以下内容:
type1 string[22]
type2 string[10]
//Function definition
function(type2 in)
//Do stuff to the array
print(in)
//Function call
type2 temp = "This is a string of 20"
function(inputString)
可能存在语法错误
(* Types *)
type24 = packed array[1..24] of char;
type40 = packed array[1..40] of char;
(* Variable declaration *)
line : type40;
(* Function prototype *)
foo(var contents : type24) : boolean;
(* Function call *)
if ( foo(line) )
begin
end