D语言字符串查找子字符串:strstr() 函数使用指南
在D语言中,当字符串被复制时,它们不再是指向原始字符串的指针。因此,在使用'strstr'函数查找子字符串时,应该使用复制的字符串而不是原始字符串。另外,如果子字符串不存在于原始字符串中,'strstr'函数将返回'null'。
下面是修改后的代码:
import std.stdio;
void main() {
char[] str = 'Hello World, hello world!'.dup;
char[] one = 'world'.dup;
char[] result = strstr(str.dup.ptr, one.ptr);
if (result !is null) {
writeln(result); // 输出 'world, hello world!'
} else {
writeln('Not found.');
}
}
在这个版本中,我们使用'dup.ptr'来获取复制后的字符串的指针,以便在'strstr'函数中使用。然后,我们检查'result'是否为'null',如果不是,则打印找到的子字符串。否则,我们打印一个错误消息。
原文地址: https://www.cveoy.top/t/topic/ofWw 著作权归作者所有。请勿转载和采集!