【发布时间】:2026-02-26 01:35:01
【问题描述】:
我不确定我是在滥用 Vala 还是 GLib.Regex,因为我对这两者都是新手。我创建了一个最小的示例,它重现了错误。从下面的代码中,我希望它会打印六次a INPUTX b,并交替以source 和result 为前缀:
public class Test
{
public static void run( string src )
{
var regex = new Regex( "INPUT[0-9]" );
for( int i = 0; i < 3; ++i )
{
stdout.printf( @"-- source: $src\n" );
src = regex.replace( src, -1, 0, "value" );
stdout.printf( @"-- result: $src\n\n" );
}
}
public static void main()
{
Test.run( "a INPUTX b" );
}
}
我根据the example in the docs 编写了这段代码。但是,在使用valac Test.vala --pkg glib-2.0 编译并运行后,我得到:
-- source: a INPUTX b
-- result: a INPUTX b
-- source: -- source:
-- result: N�
-- source: -- source:
-- result: PN�
我做错了什么?
【问题讨论】:
标签: glib vala memory-corruption